-rw-r--r-- | microkde/kdeui/ktoolbar.cpp | 6 | ||||
-rw-r--r-- | microkde/kdeui/ktoolbar.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/microkde/kdeui/ktoolbar.cpp b/microkde/kdeui/ktoolbar.cpp index 79b0f9d..e9226c0 100644 --- a/microkde/kdeui/ktoolbar.cpp +++ b/microkde/kdeui/ktoolbar.cpp | |||
@@ -1285,256 +1285,262 @@ void KToolBar::mousePressEvent ( QMouseEvent *m ) | |||
1285 | setIconText( TextOnly ); | 1285 | setIconText( TextOnly ); |
1286 | break; | 1286 | break; |
1287 | case CONTEXT_TEXTUNDER: | 1287 | case CONTEXT_TEXTUNDER: |
1288 | setIconText( IconTextBottom ); | 1288 | setIconText( IconTextBottom ); |
1289 | break; | 1289 | break; |
1290 | default: | 1290 | default: |
1291 | if ( i >= CONTEXT_ICONSIZES ) | 1291 | if ( i >= CONTEXT_ICONSIZES ) |
1292 | setIconSize( i - CONTEXT_ICONSIZES ); | 1292 | setIconSize( i - CONTEXT_ICONSIZES ); |
1293 | else | 1293 | else |
1294 | return; // assume this was an action handled elsewhere, no need for setSettingsDirty() | 1294 | return; // assume this was an action handled elsewhere, no need for setSettingsDirty() |
1295 | } | 1295 | } |
1296 | /*US | 1296 | /*US |
1297 | if ( mw->inherits("KMainWindow") ) | 1297 | if ( mw->inherits("KMainWindow") ) |
1298 | static_cast<KMainWindow *>(mw)->setSettingsDirty(); | 1298 | static_cast<KMainWindow *>(mw)->setSettingsDirty(); |
1299 | */ | 1299 | */ |
1300 | } | 1300 | } |
1301 | } | 1301 | } |
1302 | } | 1302 | } |
1303 | 1303 | ||
1304 | 1304 | ||
1305 | void KToolBar::rebuildLayout() | 1305 | void KToolBar::rebuildLayout() |
1306 | { | 1306 | { |
1307 | 1307 | ||
1308 | for(QWidget *w=d->idleButtons.first(); w; w=d->idleButtons.next()) | 1308 | for(QWidget *w=d->idleButtons.first(); w; w=d->idleButtons.next()) |
1309 | w->blockSignals(false); | 1309 | w->blockSignals(false); |
1310 | d->idleButtons.clear(); | 1310 | d->idleButtons.clear(); |
1311 | 1311 | ||
1312 | layoutTimer->stop(); | 1312 | layoutTimer->stop(); |
1313 | QApplication::sendPostedEvents( this, QEvent::ChildInserted ); | 1313 | QApplication::sendPostedEvents( this, QEvent::ChildInserted ); |
1314 | QBoxLayout *l = boxLayout(); | 1314 | QBoxLayout *l = boxLayout(); |
1315 | l->setMargin( 1 ); | 1315 | l->setMargin( 1 ); |
1316 | // clear the old layout | 1316 | // clear the old layout |
1317 | QLayoutIterator it = l->iterator(); | 1317 | QLayoutIterator it = l->iterator(); |
1318 | 1318 | ||
1319 | while ( it.current() ) { | 1319 | while ( it.current() ) { |
1320 | it.deleteCurrent(); | 1320 | it.deleteCurrent(); |
1321 | } | 1321 | } |
1322 | for ( QWidget *w = widgets.first(); w; w = widgets.next() ) { | 1322 | for ( QWidget *w = widgets.first(); w; w = widgets.next() ) { |
1323 | if ( w == rightAligned ) { | 1323 | if ( w == rightAligned ) { |
1324 | continue; | 1324 | continue; |
1325 | } | 1325 | } |
1326 | if ( w->inherits( "KToolBarSeparator" ) && | 1326 | if ( w->inherits( "KToolBarSeparator" ) && |
1327 | !( (KToolBarSeparator*)w )->showLine() ) { | 1327 | !( (KToolBarSeparator*)w )->showLine() ) { |
1328 | l->addSpacing( 6 ); | 1328 | l->addSpacing( 6 ); |
1329 | w->hide(); | 1329 | w->hide(); |
1330 | continue; | 1330 | continue; |
1331 | } | 1331 | } |
1332 | if ( w->inherits( "QPopupMenu" ) ) | 1332 | if ( w->inherits( "QPopupMenu" ) ) |
1333 | continue; | 1333 | continue; |
1334 | l->addWidget( w ); | 1334 | l->addWidget( w ); |
1335 | w->show(); | 1335 | w->show(); |
1336 | } | 1336 | } |
1337 | if ( rightAligned ) { | 1337 | if ( rightAligned ) { |
1338 | l->addStretch(); | 1338 | l->addStretch(); |
1339 | l->addWidget( rightAligned ); | 1339 | l->addWidget( rightAligned ); |
1340 | rightAligned->show(); | 1340 | rightAligned->show(); |
1341 | } | 1341 | } |
1342 | 1342 | ||
1343 | if ( fullSize() ) { | 1343 | if ( fullSize() ) { |
1344 | // This code sucks. It makes the last combo in a toolbar VERY big (e.g. zoom combo in kword). | 1344 | // This code sucks. It makes the last combo in a toolbar VERY big (e.g. zoom combo in kword). |
1345 | //if ( !stretchableWidget && widgets.last() && | 1345 | //if ( !stretchableWidget && widgets.last() && |
1346 | // !widgets.last()->inherits( "QButton" ) && !widgets.last()->inherits( "KAnimWidget" ) ) | 1346 | // !widgets.last()->inherits( "QButton" ) && !widgets.last()->inherits( "KAnimWidget" ) ) |
1347 | // setStretchableWidget( widgets.last() ); | 1347 | // setStretchableWidget( widgets.last() ); |
1348 | if ( !rightAligned ) | 1348 | if ( !rightAligned ) |
1349 | l->addStretch(); | 1349 | l->addStretch(); |
1350 | if ( stretchableWidget ) | 1350 | if ( stretchableWidget ) |
1351 | l->setStretchFactor( stretchableWidget, 10 ); | 1351 | l->setStretchFactor( stretchableWidget, 10 ); |
1352 | } | 1352 | } |
1353 | l->invalidate(); | 1353 | l->invalidate(); |
1354 | QApplication::postEvent( this, new QEvent( QEvent::LayoutHint ) ); | 1354 | QApplication::postEvent( this, new QEvent( QEvent::LayoutHint ) ); |
1355 | //#endif //DESKTOP_VERSION | 1355 | //#endif //DESKTOP_VERSION |
1356 | } | 1356 | } |
1357 | 1357 | ||
1358 | void KToolBar::childEvent( QChildEvent *e ) | 1358 | void KToolBar::childEvent( QChildEvent *e ) |
1359 | { | 1359 | { |
1360 | 1360 | ||
1361 | if ( e->child()->isWidgetType() ) { | 1361 | if ( e->child()->isWidgetType() ) { |
1362 | QWidget * w = (QWidget*)e->child(); | 1362 | QWidget * w = (QWidget*)e->child(); |
1363 | if ( e->type() == QEvent::ChildInserted ) { | 1363 | if ( e->type() == QEvent::ChildInserted ) { |
1364 | if ( !e->child()->inherits( "QPopupMenu" ) && | 1364 | if ( !e->child()->inherits( "QPopupMenu" ) && |
1365 | ::qstrcmp( "qt_dockwidget_internal", e->child()->name() ) != 0 ) { | 1365 | ::qstrcmp( "qt_dockwidget_internal", e->child()->name() ) != 0 ) { |
1366 | 1366 | ||
1367 | // prevent items that have been explicitly inserted by insert*() from | 1367 | // prevent items that have been explicitly inserted by insert*() from |
1368 | // being inserted again | 1368 | // being inserted again |
1369 | if ( !widget2id.contains( w ) ) | 1369 | if ( !widget2id.contains( w ) ) |
1370 | { | 1370 | { |
1371 | int dummy = -1; | 1371 | int dummy = -1; |
1372 | insertWidgetInternal( w, dummy, -1 ); | 1372 | insertWidgetInternal( w, dummy, -1 ); |
1373 | } | 1373 | } |
1374 | } | 1374 | } |
1375 | } else { | 1375 | } else { |
1376 | removeWidgetInternal( w ); | 1376 | removeWidgetInternal( w ); |
1377 | } | 1377 | } |
1378 | if ( isVisibleTo( 0 ) ) | 1378 | if ( isVisibleTo( 0 ) ) |
1379 | { | 1379 | { |
1380 | QBoxLayout *l = boxLayout(); | 1380 | QBoxLayout *l = boxLayout(); |
1381 | // QLayout *l = layout(); | 1381 | // QLayout *l = layout(); |
1382 | 1382 | ||
1383 | // clear the old layout so that we don't get unnecassery layout | 1383 | // clear the old layout so that we don't get unnecassery layout |
1384 | // changes till we have rebuild the thing | 1384 | // changes till we have rebuild the thing |
1385 | QLayoutIterator it = l->iterator(); | 1385 | QLayoutIterator it = l->iterator(); |
1386 | while ( it.current() ) { | 1386 | while ( it.current() ) { |
1387 | it.deleteCurrent(); | 1387 | it.deleteCurrent(); |
1388 | } | 1388 | } |
1389 | layoutTimer->start( 50, TRUE ); | 1389 | layoutTimer->start( 50, TRUE ); |
1390 | } | 1390 | } |
1391 | } | 1391 | } |
1392 | QToolBar::childEvent( e ); | 1392 | QToolBar::childEvent( e ); |
1393 | } | 1393 | } |
1394 | 1394 | ||
1395 | void KToolBar::insertWidgetInternal( QWidget *w, int &index, int id ) | 1395 | void KToolBar::insertWidgetInternal( QWidget *w, int &index, int id ) |
1396 | { | 1396 | { |
1397 | // we can't have it in widgets, or something is really wrong | 1397 | // we can't have it in widgets, or something is really wrong |
1398 | //widgets.removeRef( w ); | 1398 | //widgets.removeRef( w ); |
1399 | 1399 | ||
1400 | connect( w, SIGNAL( destroyed() ), | 1400 | connect( w, SIGNAL( destroyed() ), |
1401 | this, SLOT( widgetDestroyed() ) ); | 1401 | this, SLOT( widgetDestroyed() ) ); |
1402 | if ( index == -1 || index > (int)widgets.count() ) { | 1402 | if ( index == -1 || index > (int)widgets.count() ) { |
1403 | widgets.append( w ); | 1403 | widgets.append( w ); |
1404 | index = (int)widgets.count(); | 1404 | index = (int)widgets.count(); |
1405 | } | 1405 | } |
1406 | else | 1406 | else |
1407 | widgets.insert( index, w ); | 1407 | widgets.insert( index, w ); |
1408 | if ( id == -1 ) | 1408 | if ( id == -1 ) |
1409 | id = id2widget.count(); | 1409 | id = id2widget.count(); |
1410 | id2widget.insert( id, w ); | 1410 | id2widget.insert( id, w ); |
1411 | widget2id.insert( w, id ); | 1411 | widget2id.insert( w, id ); |
1412 | } | 1412 | } |
1413 | void KToolBar::repaintMe() | ||
1414 | { | ||
1415 | setUpdatesEnabled( true ); | ||
1416 | QToolBar::repaint( true ); | ||
1417 | qDebug(" KToolBar::repaintMe() "); | ||
1418 | } | ||
1413 | 1419 | ||
1414 | void KToolBar::showEvent( QShowEvent *e ) | 1420 | void KToolBar::showEvent( QShowEvent *e ) |
1415 | { | 1421 | { |
1416 | QToolBar::showEvent( e ); | 1422 | QToolBar::showEvent( e ); |
1417 | rebuildLayout(); | 1423 | rebuildLayout(); |
1418 | } | 1424 | } |
1419 | 1425 | ||
1420 | void KToolBar::setStretchableWidget( QWidget *w ) | 1426 | void KToolBar::setStretchableWidget( QWidget *w ) |
1421 | { | 1427 | { |
1422 | QToolBar::setStretchableWidget( w ); | 1428 | QToolBar::setStretchableWidget( w ); |
1423 | stretchableWidget = w; | 1429 | stretchableWidget = w; |
1424 | } | 1430 | } |
1425 | 1431 | ||
1426 | QSizePolicy KToolBar::sizePolicy() const | 1432 | QSizePolicy KToolBar::sizePolicy() const |
1427 | { | 1433 | { |
1428 | if ( orientation() == Horizontal ) | 1434 | if ( orientation() == Horizontal ) |
1429 | return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); | 1435 | return QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Fixed ); |
1430 | else | 1436 | else |
1431 | return QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Expanding ); | 1437 | return QSizePolicy( QSizePolicy::Fixed, QSizePolicy::Expanding ); |
1432 | } | 1438 | } |
1433 | 1439 | ||
1434 | QSize KToolBar::sizeHint() const | 1440 | QSize KToolBar::sizeHint() const |
1435 | { | 1441 | { |
1436 | return QToolBar::sizeHint(); | 1442 | return QToolBar::sizeHint(); |
1437 | #if 0 | 1443 | #if 0 |
1438 | QWidget::polish(); | 1444 | QWidget::polish(); |
1439 | static int iii = 0; | 1445 | static int iii = 0; |
1440 | ++iii; | 1446 | ++iii; |
1441 | qDebug("++++++++ KToolBar::sizeHint() %d ", iii ); | 1447 | qDebug("++++++++ KToolBar::sizeHint() %d ", iii ); |
1442 | int margin = static_cast<QWidget*>(ncThis)->layout()->margin(); | 1448 | int margin = static_cast<QWidget*>(ncThis)->layout()->margin(); |
1443 | switch( barPos() ) | 1449 | switch( barPos() ) |
1444 | { | 1450 | { |
1445 | case KToolBar::Top: | 1451 | case KToolBar::Top: |
1446 | case KToolBar::Bottom: | 1452 | case KToolBar::Bottom: |
1447 | for ( QWidget *w = widgets.first(); w; w =widgets.next() ) | 1453 | for ( QWidget *w = widgets.first(); w; w =widgets.next() ) |
1448 | { | 1454 | { |
1449 | if ( w->inherits( "KToolBarSeparator" ) && | 1455 | if ( w->inherits( "KToolBarSeparator" ) && |
1450 | !( static_cast<KToolBarSeparator*>(w)->showLine() ) ) | 1456 | !( static_cast<KToolBarSeparator*>(w)->showLine() ) ) |
1451 | { | 1457 | { |
1452 | minSize += QSize(6, 0); | 1458 | minSize += QSize(6, 0); |
1453 | } | 1459 | } |
1454 | else | 1460 | else |
1455 | { | 1461 | { |
1456 | QSize sh = w->sizeHint(); | 1462 | QSize sh = w->sizeHint(); |
1457 | if (!sh.isValid()) | 1463 | if (!sh.isValid()) |
1458 | sh = w->minimumSize(); | 1464 | sh = w->minimumSize(); |
1459 | minSize = minSize.expandedTo(QSize(0, sh.height())); | 1465 | minSize = minSize.expandedTo(QSize(0, sh.height())); |
1460 | minSize += QSize(sh.width()+1, 0); | 1466 | minSize += QSize(sh.width()+1, 0); |
1461 | } | 1467 | } |
1462 | } | 1468 | } |
1463 | /*US | 1469 | /*US |
1464 | minSize += QSize(QApplication::style().pixelMetric( QStyle::PM_DockWindowHandleExtent ), 0); | 1470 | minSize += QSize(QApplication::style().pixelMetric( QStyle::PM_DockWindowHandleExtent ), 0); |
1465 | */ | 1471 | */ |
1466 | minSize += QSize(margin*2, margin*2); | 1472 | minSize += QSize(margin*2, margin*2); |
1467 | break; | 1473 | break; |
1468 | 1474 | ||
1469 | case KToolBar::Left: | 1475 | case KToolBar::Left: |
1470 | case KToolBar::Right: | 1476 | case KToolBar::Right: |
1471 | for ( QWidget *w = widgets.first(); w; w = widgets.next() ) | 1477 | for ( QWidget *w = widgets.first(); w; w = widgets.next() ) |
1472 | { | 1478 | { |
1473 | if ( w->inherits( "KToolBarSeparator" ) && | 1479 | if ( w->inherits( "KToolBarSeparator" ) && |
1474 | !( static_cast<KToolBarSeparator*>(w)->showLine() ) ) | 1480 | !( static_cast<KToolBarSeparator*>(w)->showLine() ) ) |
1475 | { | 1481 | { |
1476 | minSize += QSize(0, 6); | 1482 | minSize += QSize(0, 6); |
1477 | } | 1483 | } |
1478 | else | 1484 | else |
1479 | { | 1485 | { |
1480 | QSize sh = w->sizeHint(); | 1486 | QSize sh = w->sizeHint(); |
1481 | if (!sh.isValid()) | 1487 | if (!sh.isValid()) |
1482 | sh = w->minimumSize(); | 1488 | sh = w->minimumSize(); |
1483 | minSize = minSize.expandedTo(QSize(sh.width(), 0)); | 1489 | minSize = minSize.expandedTo(QSize(sh.width(), 0)); |
1484 | minSize += QSize(0, sh.height()+1); | 1490 | minSize += QSize(0, sh.height()+1); |
1485 | } | 1491 | } |
1486 | } | 1492 | } |
1487 | /*US | 1493 | /*US |
1488 | minSize += QSize(0, QApplication::style().pixelMetric( QStyle::PM_DockWindowHandleExtent )); | 1494 | minSize += QSize(0, QApplication::style().pixelMetric( QStyle::PM_DockWindowHandleExtent )); |
1489 | */ | 1495 | */ |
1490 | minSize += QSize(margin*2, margin*2); | 1496 | minSize += QSize(margin*2, margin*2); |
1491 | break; | 1497 | break; |
1492 | 1498 | ||
1493 | default: | 1499 | default: |
1494 | minSize = QToolBar::sizeHint(); | 1500 | minSize = QToolBar::sizeHint(); |
1495 | break; | 1501 | break; |
1496 | } | 1502 | } |
1497 | return minSize; | 1503 | return minSize; |
1498 | #endif | 1504 | #endif |
1499 | } | 1505 | } |
1500 | 1506 | ||
1501 | QSize KToolBar::minimumSize() const | 1507 | QSize KToolBar::minimumSize() const |
1502 | { | 1508 | { |
1503 | return minimumSizeHint(); | 1509 | return minimumSizeHint(); |
1504 | } | 1510 | } |
1505 | 1511 | ||
1506 | QSize KToolBar::minimumSizeHint() const | 1512 | QSize KToolBar::minimumSizeHint() const |
1507 | { | 1513 | { |
1508 | return sizeHint(); | 1514 | return sizeHint(); |
1509 | } | 1515 | } |
1510 | 1516 | ||
1511 | bool KToolBar::highlight() const | 1517 | bool KToolBar::highlight() const |
1512 | { | 1518 | { |
1513 | return d->m_highlight; | 1519 | return d->m_highlight; |
1514 | } | 1520 | } |
1515 | 1521 | ||
1516 | void KToolBar::hide() | 1522 | void KToolBar::hide() |
1517 | { | 1523 | { |
1518 | QToolBar::hide(); | 1524 | QToolBar::hide(); |
1519 | } | 1525 | } |
1520 | 1526 | ||
1521 | void KToolBar::show() | 1527 | void KToolBar::show() |
1522 | { | 1528 | { |
1523 | QToolBar::show(); | 1529 | QToolBar::show(); |
1524 | } | 1530 | } |
1525 | 1531 | ||
1526 | void KToolBar::resizeEvent( QResizeEvent *e ) | 1532 | void KToolBar::resizeEvent( QResizeEvent *e ) |
1527 | { | 1533 | { |
1528 | bool b = isUpdatesEnabled(); | 1534 | bool b = isUpdatesEnabled(); |
1529 | setUpdatesEnabled( FALSE ); | 1535 | setUpdatesEnabled( FALSE ); |
1530 | QToolBar::resizeEvent( e ); | 1536 | QToolBar::resizeEvent( e ); |
1531 | if (b) | 1537 | if (b) |
1532 | d->repaintTimer.start( 100, true ); | 1538 | d->repaintTimer.start( 100, true ); |
1533 | } | 1539 | } |
1534 | 1540 | ||
1535 | void KToolBar::slotIconChanged(int group) | 1541 | void KToolBar::slotIconChanged(int group) |
1536 | { | 1542 | { |
1537 | if ((group != KIcon::Toolbar) && (group != KIcon::MainToolbar)) | 1543 | if ((group != KIcon::Toolbar) && (group != KIcon::MainToolbar)) |
1538 | return; | 1544 | return; |
1539 | if ((group == KIcon::MainToolbar) != !::qstrcmp(name(), "mainToolBar")) | 1545 | if ((group == KIcon::MainToolbar) != !::qstrcmp(name(), "mainToolBar")) |
1540 | return; | 1546 | return; |
diff --git a/microkde/kdeui/ktoolbar.h b/microkde/kdeui/ktoolbar.h index 2c061b5..61b5ea3 100644 --- a/microkde/kdeui/ktoolbar.h +++ b/microkde/kdeui/ktoolbar.h | |||
@@ -920,188 +920,189 @@ public: | |||
920 | /** | 920 | /** |
921 | * Assign a (translated) text to this toolbar. This is used | 921 | * Assign a (translated) text to this toolbar. This is used |
922 | * for the tooltip on the handle, and when listing the toolbars. | 922 | * for the tooltip on the handle, and when listing the toolbars. |
923 | */ | 923 | */ |
924 | void setText( const QString & txt ); | 924 | void setText( const QString & txt ); |
925 | 925 | ||
926 | /** | 926 | /** |
927 | * @return the toolbar's text. | 927 | * @return the toolbar's text. |
928 | */ | 928 | */ |
929 | QString text() const; | 929 | QString text() const; |
930 | 930 | ||
931 | void setStretchableWidget( QWidget *w ); | 931 | void setStretchableWidget( QWidget *w ); |
932 | QSizePolicy sizePolicy() const; | 932 | QSizePolicy sizePolicy() const; |
933 | bool highlight() const; | 933 | bool highlight() const; |
934 | QSize sizeHint() const; | 934 | QSize sizeHint() const; |
935 | QSize minimumSizeHint() const; | 935 | QSize minimumSizeHint() const; |
936 | QSize minimumSize() const; | 936 | QSize minimumSize() const; |
937 | 937 | ||
938 | void hide(); | 938 | void hide(); |
939 | void show(); | 939 | void show(); |
940 | 940 | ||
941 | void updateRects( bool = FALSE ) {} | 941 | void updateRects( bool = FALSE ) {} |
942 | 942 | ||
943 | //US void loadState( const QDomElement &e ); | 943 | //US void loadState( const QDomElement &e ); |
944 | //US void saveState( QDomElement &e ); | 944 | //US void saveState( QDomElement &e ); |
945 | 945 | ||
946 | /** | 946 | /** |
947 | * @internal | 947 | * @internal |
948 | */ | 948 | */ |
949 | void positionYourself( bool force = false); | 949 | void positionYourself( bool force = false); |
950 | 950 | ||
951 | signals: | 951 | signals: |
952 | /** | 952 | /** |
953 | * Emitted when button @p id is clicked. | 953 | * Emitted when button @p id is clicked. |
954 | */ | 954 | */ |
955 | void clicked(int id); | 955 | void clicked(int id); |
956 | 956 | ||
957 | /** | 957 | /** |
958 | * Emitted when button @p id is double-clicked. | 958 | * Emitted when button @p id is double-clicked. |
959 | * | 959 | * |
960 | * Note: you will always | 960 | * Note: you will always |
961 | * recive two @ref clicked() , @ref pressed() and @ref released() signals. | 961 | * recive two @ref clicked() , @ref pressed() and @ref released() signals. |
962 | * There is no way to avoid it - at least no easy way. | 962 | * There is no way to avoid it - at least no easy way. |
963 | * If you need to resolve this all you can do is set up timers | 963 | * If you need to resolve this all you can do is set up timers |
964 | * which wait for @ref QApplication::doubleClickInterval() to expire. | 964 | * which wait for @ref QApplication::doubleClickInterval() to expire. |
965 | * If in that time you don't get this signal, you may belive that | 965 | * If in that time you don't get this signal, you may belive that |
966 | * button was only clicked and not double-clicked. | 966 | * button was only clicked and not double-clicked. |
967 | * And please note that butons with popup menus do not emit this signal, | 967 | * And please note that butons with popup menus do not emit this signal, |
968 | * but those with delayed popup do. | 968 | * but those with delayed popup do. |
969 | */ | 969 | */ |
970 | void doubleClicked (int id); | 970 | void doubleClicked (int id); |
971 | 971 | ||
972 | /** | 972 | /** |
973 | * Emitted when button @p id is pressed. | 973 | * Emitted when button @p id is pressed. |
974 | */ | 974 | */ |
975 | void pressed(int); | 975 | void pressed(int); |
976 | 976 | ||
977 | /** | 977 | /** |
978 | * Emits when button @p id is released. | 978 | * Emits when button @p id is released. |
979 | */ | 979 | */ |
980 | void released(int); | 980 | void released(int); |
981 | 981 | ||
982 | /** | 982 | /** |
983 | * Emitted when a toggle button changes state. | 983 | * Emitted when a toggle button changes state. |
984 | * | 984 | * |
985 | * Emitted also if you change state | 985 | * Emitted also if you change state |
986 | * with @ref setButton() or @ref toggleButton() | 986 | * with @ref setButton() or @ref toggleButton() |
987 | * If you make a button normal again, with | 987 | * If you make a button normal again, with |
988 | * setToggle(false), this signal won't | 988 | * setToggle(false), this signal won't |
989 | * be emitted. | 989 | * be emitted. |
990 | */ | 990 | */ |
991 | void toggled(int); | 991 | void toggled(int); |
992 | 992 | ||
993 | /** | 993 | /** |
994 | * This signal is emitted when item id gets highlighted/unhighlighted | 994 | * This signal is emitted when item id gets highlighted/unhighlighted |
995 | * (i.e when mouse enters/exits). | 995 | * (i.e when mouse enters/exits). |
996 | * | 996 | * |
997 | * Note that this signal is emitted from | 997 | * Note that this signal is emitted from |
998 | * all buttons (normal, disabled and toggle) even when there is no visible | 998 | * all buttons (normal, disabled and toggle) even when there is no visible |
999 | * change in buttons (i.e., buttons do not raise when mouse enters). | 999 | * change in buttons (i.e., buttons do not raise when mouse enters). |
1000 | * The parameter @p isHighlighted is @p true when mouse enters and @p false when | 1000 | * The parameter @p isHighlighted is @p true when mouse enters and @p false when |
1001 | * mouse exits. | 1001 | * mouse exits. |
1002 | */ | 1002 | */ |
1003 | void highlighted(int id, bool isHighlighted); | 1003 | void highlighted(int id, bool isHighlighted); |
1004 | 1004 | ||
1005 | /** | 1005 | /** |
1006 | * This signal is emitted when item id gets highlighted/unhighlighted | 1006 | * This signal is emitted when item id gets highlighted/unhighlighted |
1007 | * (i.e when mouse enters/exits). | 1007 | * (i.e when mouse enters/exits). |
1008 | * | 1008 | * |
1009 | * Note that this signal is emitted from | 1009 | * Note that this signal is emitted from |
1010 | * all buttons (normal, disabled and toggle) even when there is no visible | 1010 | * all buttons (normal, disabled and toggle) even when there is no visible |
1011 | * change in buttons (i.e., buttons do not raise when mouse enters). | 1011 | * change in buttons (i.e., buttons do not raise when mouse enters). |
1012 | */ | 1012 | */ |
1013 | void highlighted(int id ); | 1013 | void highlighted(int id ); |
1014 | 1014 | ||
1015 | /** | 1015 | /** |
1016 | * Emitted when toolbar changes position, or when | 1016 | * Emitted when toolbar changes position, or when |
1017 | * an item is removed from toolbar. | 1017 | * an item is removed from toolbar. |
1018 | * | 1018 | * |
1019 | * If you subclass @ref KMainWindow and reimplement | 1019 | * If you subclass @ref KMainWindow and reimplement |
1020 | * @ref KMainWindow::resizeEvent() be sure to connect to | 1020 | * @ref KMainWindow::resizeEvent() be sure to connect to |
1021 | * this signal. Note: You can connect this signal to a slot that | 1021 | * this signal. Note: You can connect this signal to a slot that |
1022 | * doesn't take parameter. | 1022 | * doesn't take parameter. |
1023 | */ | 1023 | */ |
1024 | void moved( BarPosition ); | 1024 | void moved( BarPosition ); |
1025 | 1025 | ||
1026 | /** | 1026 | /** |
1027 | * @internal | 1027 | * @internal |
1028 | * This signal is emitted when toolbar detects changing of | 1028 | * This signal is emitted when toolbar detects changing of |
1029 | * following parameters: | 1029 | * following parameters: |
1030 | * highlighting, button-size, button-mode. This signal is | 1030 | * highlighting, button-size, button-mode. This signal is |
1031 | * internal, aimed to buttons. | 1031 | * internal, aimed to buttons. |
1032 | */ | 1032 | */ |
1033 | void modechange (); | 1033 | void modechange (); |
1034 | 1034 | ||
1035 | /** | 1035 | /** |
1036 | * This signal is emitted when the toolbar is getting deleted, | 1036 | * This signal is emitted when the toolbar is getting deleted, |
1037 | * and before ~KToolbar finishes (so it's still time to remove | 1037 | * and before ~KToolbar finishes (so it's still time to remove |
1038 | * widgets from the toolbar). | 1038 | * widgets from the toolbar). |
1039 | * Used by KWidgetAction. | 1039 | * Used by KWidgetAction. |
1040 | * @since 3.2 | 1040 | * @since 3.2 |
1041 | */ | 1041 | */ |
1042 | void toolbarDestroyed(); | 1042 | void toolbarDestroyed(); |
1043 | 1043 | ||
1044 | public: | 1044 | public: |
1045 | /** | 1045 | /** |
1046 | * @return global setting for "Highlight buttons under mouse" | 1046 | * @return global setting for "Highlight buttons under mouse" |
1047 | */ | 1047 | */ |
1048 | void repaintMe(); | ||
1048 | static bool highlightSetting(); | 1049 | static bool highlightSetting(); |
1049 | 1050 | ||
1050 | /** | 1051 | /** |
1051 | * @return global setting for "Toolbars transparent when moving" | 1052 | * @return global setting for "Toolbars transparent when moving" |
1052 | */ | 1053 | */ |
1053 | static bool transparentSetting(); | 1054 | static bool transparentSetting(); |
1054 | 1055 | ||
1055 | /** | 1056 | /** |
1056 | * @return global setting for "Icon Text" | 1057 | * @return global setting for "Icon Text" |
1057 | */ | 1058 | */ |
1058 | static IconText iconTextSetting(); | 1059 | static IconText iconTextSetting(); |
1059 | 1060 | ||
1060 | public slots: | 1061 | public slots: |
1061 | virtual void setIconText( const QString &txt ) | 1062 | virtual void setIconText( const QString &txt ) |
1062 | { QToolBar::setIconText( txt ); } | 1063 | { QToolBar::setIconText( txt ); } |
1064 | void slotRepaint(); | ||
1063 | 1065 | ||
1064 | protected: | 1066 | protected: |
1065 | void mousePressEvent( QMouseEvent * ); | 1067 | void mousePressEvent( QMouseEvent * ); |
1066 | void childEvent( QChildEvent *e ); | 1068 | void childEvent( QChildEvent *e ); |
1067 | void showEvent( QShowEvent *e ); | 1069 | void showEvent( QShowEvent *e ); |
1068 | void resizeEvent( QResizeEvent *e ); | 1070 | void resizeEvent( QResizeEvent *e ); |
1069 | bool event( QEvent *e ); | 1071 | bool event( QEvent *e ); |
1070 | void applyAppearanceSettings(KConfig *config, const QString &_configGroup, bool forceGlobal = false); | 1072 | void applyAppearanceSettings(KConfig *config, const QString &_configGroup, bool forceGlobal = false); |
1071 | QString settingsGroup(); | 1073 | QString settingsGroup(); |
1072 | 1074 | ||
1073 | private slots: | 1075 | private slots: |
1074 | void rebuildLayout(); | 1076 | void rebuildLayout(); |
1075 | void slotReadConfig (); | 1077 | void slotReadConfig (); |
1076 | void slotAppearanceChanged(); | 1078 | void slotAppearanceChanged(); |
1077 | void slotIconChanged(int); | 1079 | void slotIconChanged(int); |
1078 | void slotRepaint(); | ||
1079 | void toolBarPosChanged( QToolBar *tb ); | 1080 | void toolBarPosChanged( QToolBar *tb ); |
1080 | void slotContextAboutToShow(); | 1081 | void slotContextAboutToShow(); |
1081 | void widgetDestroyed(); | 1082 | void widgetDestroyed(); |
1082 | 1083 | ||
1083 | private: | 1084 | private: |
1084 | void init( bool readConfig = true, bool honorStyle = false ); | 1085 | void init( bool readConfig = true, bool honorStyle = false ); |
1085 | void doConnections( KToolBarButton *button ); | 1086 | void doConnections( KToolBarButton *button ); |
1086 | void insertWidgetInternal( QWidget *w, int &index, int id ); | 1087 | void insertWidgetInternal( QWidget *w, int &index, int id ); |
1087 | void removeWidgetInternal( QWidget *w ); | 1088 | void removeWidgetInternal( QWidget *w ); |
1088 | void getAttributes( QString &position, QString &icontext, int &index ); | 1089 | void getAttributes( QString &position, QString &icontext, int &index ); |
1089 | //US KPopupMenu *contextMenu(); | 1090 | //US KPopupMenu *contextMenu(); |
1090 | QPopupMenu *contextMenu(); | 1091 | QPopupMenu *contextMenu(); |
1091 | 1092 | ||
1092 | QMap<QWidget*, int > widget2id; | 1093 | QMap<QWidget*, int > widget2id; |
1093 | typedef QMap<int, QWidget* > Id2WidgetMap; | 1094 | typedef QMap<int, QWidget* > Id2WidgetMap; |
1094 | Id2WidgetMap id2widget; | 1095 | Id2WidgetMap id2widget; |
1095 | //US KPopupMenu *context; | 1096 | //US KPopupMenu *context; |
1096 | QPopupMenu *context; | 1097 | QPopupMenu *context; |
1097 | QPtrList<QWidget> widgets; | 1098 | QPtrList<QWidget> widgets; |
1098 | QTimer *layoutTimer; | 1099 | QTimer *layoutTimer; |
1099 | QGuardedPtr<QWidget> stretchableWidget, rightAligned; | 1100 | QGuardedPtr<QWidget> stretchableWidget, rightAligned; |
1100 | protected: | 1101 | protected: |
1101 | virtual void virtual_hook( int id, void* data ); | 1102 | virtual void virtual_hook( int id, void* data ); |
1102 | private: | 1103 | private: |
1103 | KToolBarPrivate *d; | 1104 | KToolBarPrivate *d; |
1104 | bool inshutdownprocess; | 1105 | bool inshutdownprocess; |
1105 | }; | 1106 | }; |
1106 | 1107 | ||
1107 | #endif | 1108 | #endif |