summaryrefslogtreecommitdiffstats
path: root/kicker/taskbar/taskbar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kicker/taskbar/taskbar.cpp')
-rw-r--r--kicker/taskbar/taskbar.cpp146
1 files changed, 77 insertions, 69 deletions
diff --git a/kicker/taskbar/taskbar.cpp b/kicker/taskbar/taskbar.cpp
index 29c06da89..ac0133668 100644
--- a/kicker/taskbar/taskbar.cpp
+++ b/kicker/taskbar/taskbar.cpp
@@ -49,7 +49,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include "taskbar.h"
#include "taskbar.moc"
-#define READ_MERGED_TASBKAR_SETTING(x) ((m_settingsObject->useGlobalSettings())?m_globalSettingsObject->x():m_settingsObject->x())
+#define READ_MERGED_TASKBAR_SETTING(x) ((m_settingsObject->useGlobalSettings())?m_globalSettingsObject->x():m_settingsObject->x())
TaskBar::TaskBar( TaskBarSettings* settingsObject, TaskBarSettings* globalSettingsObject, TQWidget *parent, const char *name )
: Panner( parent, name ),
@@ -81,7 +81,7 @@ TaskBar::TaskBar( TaskBarSettings* settingsObject, TaskBarSettings* globalSettin
// init
setSizePolicy( TQSizePolicy( TQSizePolicy::Expanding, TQSizePolicy::Expanding ) );
- m_sortByAppPrev = READ_MERGED_TASBKAR_SETTING(sortByApp);
+ m_sortByAppPrev = READ_MERGED_TASKBAR_SETTING(sortByApp);
// setup animation frames
for (int i = 1; i < 11; i++)
@@ -92,24 +92,24 @@ TaskBar::TaskBar( TaskBarSettings* settingsObject, TaskBarSettings* globalSettin
// configure
configure();
- connect(&m_relayoutTimer, TQT_SIGNAL(timeout()),
- this, TQT_SLOT(reLayout()));
+ connect(&m_relayoutTimer, TQ_SIGNAL(timeout()),
+ this, TQ_SLOT(reLayout()));
- connect(this, TQT_SIGNAL(contentsMoving(int, int)), TQT_SLOT(setBackground()));
+ connect(this, TQ_SIGNAL(contentsMoving(int, int)), TQ_SLOT(setBackground()));
// connect manager
- connect(TaskManager::the(), TQT_SIGNAL(taskAdded(Task::Ptr)),
- this, TQT_SLOT(add(Task::Ptr)));
- connect(TaskManager::the(), TQT_SIGNAL(taskRemoved(Task::Ptr)),
- this, TQT_SLOT(remove(Task::Ptr)));
- connect(TaskManager::the(), TQT_SIGNAL(startupAdded(Startup::Ptr)),
- this, TQT_SLOT(add(Startup::Ptr)));
- connect(TaskManager::the(), TQT_SIGNAL(startupRemoved(Startup::Ptr)),
- this, TQT_SLOT(remove(Startup::Ptr)));
- connect(TaskManager::the(), TQT_SIGNAL(desktopChanged(int)),
- this, TQT_SLOT(desktopChanged(int)));
- connect(TaskManager::the(), TQT_SIGNAL(windowChanged(Task::Ptr)),
- this, TQT_SLOT(windowChanged(Task::Ptr)));
+ connect(TaskManager::the(), TQ_SIGNAL(taskAdded(Task::Ptr)),
+ this, TQ_SLOT(add(Task::Ptr)));
+ connect(TaskManager::the(), TQ_SIGNAL(taskRemoved(Task::Ptr)),
+ this, TQ_SLOT(remove(Task::Ptr)));
+ connect(TaskManager::the(), TQ_SIGNAL(startupAdded(Startup::Ptr)),
+ this, TQ_SLOT(add(Startup::Ptr)));
+ connect(TaskManager::the(), TQ_SIGNAL(startupRemoved(Startup::Ptr)),
+ this, TQ_SLOT(remove(Startup::Ptr)));
+ connect(TaskManager::the(), TQ_SIGNAL(desktopChanged(int)),
+ this, TQ_SLOT(desktopChanged(int)));
+ connect(TaskManager::the(), TQ_SIGNAL(windowChanged(Task::Ptr)),
+ this, TQ_SLOT(windowChanged(Task::Ptr)));
isGrouping = shouldGroup();
@@ -131,8 +131,8 @@ TaskBar::TaskBar( TaskBarSettings* settingsObject, TaskBarSettings* globalSettin
blocklayout = false;
- connect(kapp, TQT_SIGNAL(settingsChanged(int)), TQT_SLOT(slotSettingsChanged(int)));
- keys = new TDEGlobalAccel( TQT_TQOBJECT(this) );
+ connect(kapp, TQ_SIGNAL(settingsChanged(int)), TQ_SLOT(slotSettingsChanged(int)));
+ keys = new TDEGlobalAccel( this );
#include "taskbarbindings.cpp"
keys->readSettings();
keys->updateConnections();
@@ -174,31 +174,40 @@ KTextShadowEngine *TaskBar::textShadowEngine()
return m_textShadowEngine;
}
-
-TQSize TaskBar::sizeHint() const
+int TaskBar::buttonHeight() const
{
- // get our minimum height based on the minimum button height or the
- // height of the font in use, which is largest
TQFontMetrics fm(TDEGlobalSettings::taskbarFont());
- int minButtonHeight = fm.height() > READ_MERGED_TASBKAR_SETTING(minimumButtonHeight) ?
- fm.height() : READ_MERGED_TASBKAR_SETTING(minimumButtonHeight);
+ int bh = TQMAX(fm.height(), READ_MERGED_TASKBAR_SETTING(minimumButtonHeight));
+
+ if(showIcons())
+ {
+ bh = TQMAX(bh, READ_MERGED_TASKBAR_SETTING(iconSize));
+ }
+
+ return bh + 2;
+}
+
+int TaskBar::buttonWidth() const
+{
+ return TQMAX(BUTTON_MIN_WIDTH, READ_MERGED_TASKBAR_SETTING(iconSize)) + 2;
+}
- return TQSize(BUTTON_MIN_WIDTH, minButtonHeight);
+
+TQSize TaskBar::sizeHint() const
+{
+ return TQSize(buttonWidth(), buttonHeight());
}
TQSize TaskBar::sizeHint( KPanelExtension::Position p, TQSize maxSize) const
{
- // get our minimum height based on the minimum button height or the
- // height of the font in use, which is largest
- TQFontMetrics fm(TDEGlobalSettings::taskbarFont());
- int minButtonHeight = fm.height() > READ_MERGED_TASBKAR_SETTING(minimumButtonHeight) ?
- fm.height() : READ_MERGED_TASBKAR_SETTING(minimumButtonHeight);
+ // get our minimum height based on the minimum button height, the icon size or the
+ // height of the font in use, whichever is largest
if ( p == KPanelExtension::Left || p == KPanelExtension::Right )
{
// Vertical layout
// Minimum space allows for one icon, the window list button and the up/down scrollers
- int minHeight = minButtonHeight*3;
+ int minHeight = buttonHeight()*3;
if (minHeight > maxSize.height())
return maxSize;
return TQSize(maxSize.width(), minHeight);
@@ -207,7 +216,7 @@ TQSize TaskBar::sizeHint( KPanelExtension::Position p, TQSize maxSize) const
{
// Horizontal layout
// Minimum space allows for one column of icons, the window list button and the left/right scrollers
- int min_width=BUTTON_MIN_WIDTH*3;
+ int min_width=buttonWidth()*3;
if (min_width > maxSize.width())
return maxSize;
return TQSize(min_width, maxSize.height());
@@ -233,16 +242,18 @@ void TaskBar::configure()
bool wasDisplayIconsNText = m_displayIconsNText;
bool wasShowOnlyIconified = m_showOnlyIconified;
int wasShowTaskStates = m_showTaskStates;
+ int wasIconSize = m_iconSize;
- m_showAllWindows = READ_MERGED_TASBKAR_SETTING(showAllWindows);
- m_sortByDesktop = m_showAllWindows && READ_MERGED_TASBKAR_SETTING(sortByDesktop);
- m_displayIconsNText = READ_MERGED_TASBKAR_SETTING(displayIconsNText);
- m_showOnlyIconified = READ_MERGED_TASBKAR_SETTING(showOnlyIconified);
- m_cycleWheel = READ_MERGED_TASBKAR_SETTING(cycleWheel);
- m_showTaskStates = READ_MERGED_TASBKAR_SETTING(showTaskStates);
+ m_showAllWindows = READ_MERGED_TASKBAR_SETTING(showAllWindows);
+ m_sortByDesktop = m_showAllWindows && READ_MERGED_TASKBAR_SETTING(sortByDesktop);
+ m_displayIconsNText = READ_MERGED_TASKBAR_SETTING(displayIconsNText);
+ m_showOnlyIconified = READ_MERGED_TASKBAR_SETTING(showOnlyIconified);
+ m_cycleWheel = READ_MERGED_TASKBAR_SETTING(cycleWheel);
+ m_showTaskStates = READ_MERGED_TASKBAR_SETTING(showTaskStates);
+ m_iconSize = READ_MERGED_TASKBAR_SETTING(iconSize);
m_currentScreen = -1; // Show all screens or re-get our screen
- m_showOnlyCurrentScreen = (READ_MERGED_TASBKAR_SETTING(showCurrentScreenOnly) &&
+ m_showOnlyCurrentScreen = (READ_MERGED_TASKBAR_SETTING(showCurrentScreenOnly) &&
TQApplication::desktop()->isVirtualDesktop() &&
TQApplication::desktop()->numScreens() > 1);
@@ -250,12 +261,12 @@ void TaskBar::configure()
// are paying attention to the current Xinerama screen
// disconnect first in case we've been here before
// to avoid multiple connections
- disconnect(TaskManager::the(), TQT_SIGNAL(windowChangedGeometry(Task::Ptr)),
- this, TQT_SLOT(windowChangedGeometry(Task::Ptr)));
+ disconnect(TaskManager::the(), TQ_SIGNAL(windowChangedGeometry(Task::Ptr)),
+ this, TQ_SLOT(windowChangedGeometry(Task::Ptr)));
if (m_showOnlyCurrentScreen)
{
- connect(TaskManager::the(), TQT_SIGNAL(windowChangedGeometry(Task::Ptr)),
- this, TQT_SLOT(windowChangedGeometry(Task::Ptr)));
+ connect(TaskManager::the(), TQ_SIGNAL(windowChangedGeometry(Task::Ptr)),
+ this, TQ_SLOT(windowChangedGeometry(Task::Ptr)));
}
TaskManager::the()->trackGeometry(m_showOnlyCurrentScreen);
@@ -264,7 +275,8 @@ void TaskBar::configure()
wasDisplayIconsNText != m_displayIconsNText ||
wasCycleWheel != m_cycleWheel ||
wasShowOnlyIconified != m_showOnlyIconified ||
- wasShowTaskStates != m_showTaskStates)
+ wasShowTaskStates != m_showTaskStates ||
+ wasIconSize != m_iconSize)
{
// relevant settings changed, update our task containers
for (TaskContainer::Iterator it = containers.begin();
@@ -275,12 +287,12 @@ void TaskBar::configure()
}
}
- if (m_sortByAppPrev != READ_MERGED_TASBKAR_SETTING(sortByApp)) {
- m_sortByAppPrev = READ_MERGED_TASBKAR_SETTING(sortByApp);
+ if (m_sortByAppPrev != READ_MERGED_TASKBAR_SETTING(sortByApp)) {
+ m_sortByAppPrev = READ_MERGED_TASKBAR_SETTING(sortByApp);
reSort();
}
- TaskManager::the()->setXCompositeEnabled(READ_MERGED_TASBKAR_SETTING(showThumbnails));
+ TaskManager::the()->setXCompositeEnabled(READ_MERGED_TASKBAR_SETTING(showThumbnails));
reLayoutEventually();
}
@@ -374,7 +386,7 @@ void TaskBar::add(Startup::Ptr startup)
// create new container
TaskContainer *container = new TaskContainer(startup, frames, this, m_settingsObject, m_globalSettingsObject, viewport());
m_hiddenContainers.append(container);
- connect(container, TQT_SIGNAL(showMe(TaskContainer*)), this, TQT_SLOT(showTaskContainer(TaskContainer*)));
+ connect(container, TQ_SIGNAL(showMe(TaskContainer*)), this, TQ_SLOT(showTaskContainer(TaskContainer*)));
}
void TaskBar::reSort()
@@ -409,7 +421,7 @@ void TaskBar::showTaskContainer(TaskContainer* container)
}
// try to place the container after one of the same app
- if (READ_MERGED_TASBKAR_SETTING(sortByApp))
+ if (READ_MERGED_TASKBAR_SETTING(sortByApp))
{
TaskContainer::Iterator it = containers.begin();
for (; it != containers.end(); ++it)
@@ -731,14 +743,12 @@ void TaskBar::reLayout()
// number of rows simply depends on our height which is either the
// minimum button height or the height of the font in use, whichever is
// largest
- TQFontMetrics fm(TDEGlobalSettings::taskbarFont());
- int minButtonHeight = fm.height() > READ_MERGED_TASBKAR_SETTING(minimumButtonHeight) ?
- fm.height() : READ_MERGED_TASBKAR_SETTING(minimumButtonHeight);
+ int minButtonHeight = buttonHeight();
// horizontal layout
- if (orientation() == Qt::Horizontal)
+ if (orientation() == TQt::Horizontal)
{
- int bwidth=BUTTON_MIN_WIDTH;
+ int bwidth=buttonWidth();
int rows = contentsRect().height() / minButtonHeight;
if (rows<1)
rows=1;
@@ -752,20 +762,20 @@ void TaskBar::reLayout()
int bpr = static_cast<int>(ceil(static_cast<double>(list.count()) / rows));
// adjust content size
- if ( contentsRect().width() < bpr * BUTTON_MIN_WIDTH )
+ if ( contentsRect().width() < bpr * bwidth )
{
- resizeContents( bpr * BUTTON_MIN_WIDTH, contentsRect().height() );
+ resizeContents( bpr * bwidth, contentsRect().height() );
}
// maximum number of buttons per row
- int mbpr = contentsRect().width() / BUTTON_MIN_WIDTH;
+ int mbpr = contentsRect().width() / bwidth;
// expand button width if space permits and the taskbar is not in 'icons only' mode
if (mbpr > bpr)
{
if (!showIcons() || showText())
bwidth = contentsRect().width() / bpr;
- int maxWidth = READ_MERGED_TASBKAR_SETTING(maximumButtonWidth);
+ int maxWidth = READ_MERGED_TASKBAR_SETTING(maximumButtonWidth);
if (maxWidth > 0 && bwidth > maxWidth)
{
bwidth = maxWidth;
@@ -844,7 +854,7 @@ void TaskBar::reLayout()
}
}
- TQTimer::singleShot(100, this, TQT_SLOT(publishIconGeometry()));
+ TQTimer::singleShot(100, this, TQ_SLOT(publishIconGeometry()));
}
void TaskBar::setViewportBackground()
@@ -987,9 +997,7 @@ int TaskBar::taskCount() const
int TaskBar::maximumButtonsWithoutShrinking() const
{
- TQFontMetrics fm(TDEGlobalSettings::taskbarFont());
- int minButtonHeight = fm.height() > READ_MERGED_TASBKAR_SETTING(minimumButtonHeight) ?
- fm.height() : READ_MERGED_TASBKAR_SETTING(minimumButtonHeight);
+ int minButtonHeight = buttonHeight();
int rows = contentsRect().height() / minButtonHeight;
if (rows < 1)
@@ -997,9 +1005,9 @@ int TaskBar::maximumButtonsWithoutShrinking() const
rows = 1;
}
- if ( orientation() == Qt::Horizontal ) {
+ if ( orientation() == TQt::Horizontal ) {
// maxWidth of 0 means no max width, drop back to default
- int maxWidth = READ_MERGED_TASBKAR_SETTING(maximumButtonWidth);
+ int maxWidth = READ_MERGED_TASKBAR_SETTING(maximumButtonWidth);
if (maxWidth == 0)
{
maxWidth = BUTTON_MAX_WIDTH;
@@ -1017,8 +1025,8 @@ int TaskBar::maximumButtonsWithoutShrinking() const
bool TaskBar::shouldGroup() const
{
- return READ_MERGED_TASBKAR_SETTING(groupTasks) == m_settingsObject->GroupAlways ||
- ((READ_MERGED_TASBKAR_SETTING(groupTasks) == m_settingsObject->GroupWhenFull &&
+ return READ_MERGED_TASKBAR_SETTING(groupTasks) == m_settingsObject->GroupAlways ||
+ ((READ_MERGED_TASKBAR_SETTING(groupTasks) == m_settingsObject->GroupWhenFull &&
taskCount() > maximumButtonsWithoutShrinking()));
}
@@ -1166,7 +1174,7 @@ void TaskBar::activateNextTask(bool forward)
void TaskBar::wheelEvent(TQWheelEvent* e)
{
- if(READ_MERGED_TASBKAR_SETTING(cycleWheel)) {
+ if(READ_MERGED_TASKBAR_SETTING(cycleWheel)) {
if (e->delta() > 0)
{
@@ -1246,7 +1254,7 @@ TQImage* TaskBar::blendGradient(const TQSize& size)
void TaskBar::sortContainersByDesktop(TaskContainer::List& list)
{
- typedef TQValueVector<QPair<int, QPair<int, TaskContainer*> > > SortVector;
+ typedef TQValueVector<TQPair<int, TQPair<int, TaskContainer*> > > SortVector;
SortVector sorted;
sorted.resize(list.count());
int i = 0;