diff options
Diffstat (limited to 'kicker/taskmanager')
-rw-r--r-- | kicker/taskmanager/tasklmbmenu.cpp | 6 | ||||
-rw-r--r-- | kicker/taskmanager/tasklmbmenu.h | 2 | ||||
-rw-r--r-- | kicker/taskmanager/taskmanager.cpp | 44 | ||||
-rw-r--r-- | kicker/taskmanager/taskmanager.h | 14 | ||||
-rw-r--r-- | kicker/taskmanager/taskrmbmenu.cpp | 81 | ||||
-rw-r--r-- | kicker/taskmanager/taskrmbmenu.h | 7 |
6 files changed, 103 insertions, 51 deletions
diff --git a/kicker/taskmanager/tasklmbmenu.cpp b/kicker/taskmanager/tasklmbmenu.cpp index 3286c8576..79c809e39 100644 --- a/kicker/taskmanager/tasklmbmenu.cpp +++ b/kicker/taskmanager/tasklmbmenu.cpp @@ -99,7 +99,7 @@ TaskLMBMenu::TaskLMBMenu(const Task::List& tasks, TQWidget *parent, const char * setAcceptDrops(true); // Always enabled to activate task during drag&drop. m_dragSwitchTimer = new TQTimer(this, "DragSwitchTimer"); - connect(m_dragSwitchTimer, TQT_SIGNAL(timeout()), TQT_SLOT(dragSwitch())); + connect(m_dragSwitchTimer, TQ_SIGNAL(timeout()), TQ_SLOT(dragSwitch())); } void TaskLMBMenu::fillMenu() @@ -118,7 +118,7 @@ void TaskLMBMenu::fillMenu() t->isIconified(), t->demandsAttention()); int id = insertItem(TQIconSet(t->pixmap()), menuItem); - connectItem(id, t, TQT_SLOT(activateRaiseOrIconify())); + connectItem(id, t, TQ_SLOT(activateRaiseOrIconify())); setItemChecked(id, t->isActive()); if (t->demandsAttention()) @@ -131,7 +131,7 @@ void TaskLMBMenu::fillMenu() if (m_attentionState) { m_attentionTimer = new TQTimer(this, "AttentionTimer"); - connect(m_attentionTimer, TQT_SIGNAL(timeout()), TQT_SLOT(attentionTimeout())); + connect(m_attentionTimer, TQ_SIGNAL(timeout()), TQ_SLOT(attentionTimeout())); m_attentionTimer->start(500, true); } } diff --git a/kicker/taskmanager/tasklmbmenu.h b/kicker/taskmanager/tasklmbmenu.h index 4c20819b6..f0ff70afc 100644 --- a/kicker/taskmanager/tasklmbmenu.h +++ b/kicker/taskmanager/tasklmbmenu.h @@ -51,7 +51,7 @@ private: /*****************************************************************************/ -class KDE_EXPORT TaskLMBMenu : public TQPopupMenu +class TDE_EXPORT TaskLMBMenu : public TQPopupMenu { TQ_OBJECT diff --git a/kicker/taskmanager/taskmanager.cpp b/kicker/taskmanager/taskmanager.cpp index d4da190b6..3e941315f 100644 --- a/kicker/taskmanager/taskmanager.cpp +++ b/kicker/taskmanager/taskmanager.cpp @@ -26,6 +26,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <tqimage.h> #include <tqtimer.h> +#include <tdeapplication.h> #include <tdeconfig.h> #include <kdebug.h> #include <tdeglobal.h> @@ -36,6 +37,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <twinmodule.h> #include <kxerrorhandler.h> #include <netwm.h> +#include "dcopclient.h" #include "taskmanager.h" #include "taskmanager.moc" @@ -61,16 +63,16 @@ TaskManager::TaskManager() m_trackGeometry(false) { TDEGlobal::locale()->insertCatalogue("libtaskmanager"); - connect(m_winModule, TQT_SIGNAL(windowAdded(WId)), - this, TQT_SLOT(windowAdded(WId))); - connect(m_winModule, TQT_SIGNAL(windowRemoved(WId)), - this, TQT_SLOT(windowRemoved(WId))); - connect(m_winModule, TQT_SIGNAL(activeWindowChanged(WId)), - this, TQT_SLOT(activeWindowChanged(WId))); - connect(m_winModule, TQT_SIGNAL(currentDesktopChanged(int)), - this, TQT_SLOT(currentDesktopChanged(int))); - connect(m_winModule, TQT_SIGNAL(windowChanged(WId,unsigned int)), - this, TQT_SLOT(windowChanged(WId,unsigned int))); + connect(m_winModule, TQ_SIGNAL(windowAdded(WId)), + this, TQ_SLOT(windowAdded(WId))); + connect(m_winModule, TQ_SIGNAL(windowRemoved(WId)), + this, TQ_SLOT(windowRemoved(WId))); + connect(m_winModule, TQ_SIGNAL(activeWindowChanged(WId)), + this, TQ_SLOT(activeWindowChanged(WId))); + connect(m_winModule, TQ_SIGNAL(currentDesktopChanged(int)), + this, TQ_SLOT(currentDesktopChanged(int))); + connect(m_winModule, TQ_SIGNAL(windowChanged(WId,unsigned int)), + this, TQ_SLOT(windowChanged(WId,unsigned int))); // register existing windows const TQValueList<WId> windows = m_winModule->windows(); @@ -99,14 +101,14 @@ void TaskManager::configure_startup() return; _startup_info = new TDEStartupInfo( TDEStartupInfo::CleanOnCantDetect, this ); connect( _startup_info, - TQT_SIGNAL( gotNewStartup( const TDEStartupInfoId&, const TDEStartupInfoData& )), - TQT_SLOT( gotNewStartup( const TDEStartupInfoId&, const TDEStartupInfoData& ))); + TQ_SIGNAL( gotNewStartup( const TDEStartupInfoId&, const TDEStartupInfoData& )), + TQ_SLOT( gotNewStartup( const TDEStartupInfoId&, const TDEStartupInfoData& ))); connect( _startup_info, - TQT_SIGNAL( gotStartupChange( const TDEStartupInfoId&, const TDEStartupInfoData& )), - TQT_SLOT( gotStartupChange( const TDEStartupInfoId&, const TDEStartupInfoData& ))); + TQ_SIGNAL( gotStartupChange( const TDEStartupInfoId&, const TDEStartupInfoData& )), + TQ_SLOT( gotStartupChange( const TDEStartupInfoId&, const TDEStartupInfoData& ))); connect( _startup_info, - TQT_SIGNAL( gotRemoveStartup( const TDEStartupInfoId&, const TDEStartupInfoData& )), - TQT_SLOT( killStartup( const TDEStartupInfoId& ))); + TQ_SIGNAL( gotRemoveStartup( const TDEStartupInfoId&, const TDEStartupInfoData& )), + TQ_SLOT( killStartup( const TDEStartupInfoId& ))); c.setGroup( "TaskbarButtonSettings" ); _startup_info->setTimeout( c.readUnsignedNumEntry( "Timeout", 30 )); } @@ -1313,7 +1315,7 @@ void Task::updateThumbnail() if (!_grab.isNull()) { - TQTimer::singleShot(200, this, TQT_SLOT(generateThumbnail())); + TQTimer::singleShot(200, this, TQ_SLOT(generateThumbnail())); } } @@ -1452,6 +1454,14 @@ void Task::updateWindowPixmap() #endif // THUMBNAILING_POSSIBLE } +void Task::tileTo(int position) +{ + TQByteArray params; + TQDataStream stream(params, IO_WriteOnly); + stream << _win << position; + tdeApp->dcopClient()->send("twin", "KWinInterface", "tileWindowToBorder(unsigned long int, int)", params); +} + Startup::Startup(const TDEStartupInfoId& id, const TDEStartupInfoData& data, TQObject * parent, const char *name) : TQObject(parent, name), _id(id), _data(data) diff --git a/kicker/taskmanager/taskmanager.h b/kicker/taskmanager/taskmanager.h index 3771d29a6..3f8e2f5e2 100644 --- a/kicker/taskmanager/taskmanager.h +++ b/kicker/taskmanager/taskmanager.h @@ -68,7 +68,7 @@ typedef TQValueList<WId> WindowList; * @see TaskManager * @see KWinModule */ -class KDE_EXPORT Task: public TQObject, public TDEShared +class TDE_EXPORT Task: public TQObject, public TDEShared { TQ_OBJECT TQ_PROPERTY( TQString visibleIconicName READ visibleIconicName ) @@ -423,6 +423,12 @@ public slots: */ void updateThumbnail(); + /** + * Tile the task's window to the specified position. The position is one of the + * valid value for ActiveBorder enum + */ + void tileTo(int); + signals: /** * Indicates that this task has changed in some way. @@ -483,7 +489,7 @@ private: /** * Provids a drag object for tasks across desktops. */ -class KDE_EXPORT TaskDrag : public TQStoredDrag +class TDE_EXPORT TaskDrag : public TQStoredDrag { public: /** @@ -511,7 +517,7 @@ public: * * @see TaskManager */ -class KDE_EXPORT Startup: public TQObject, public TDEShared +class TDE_EXPORT Startup: public TQObject, public TDEShared { TQ_OBJECT TQ_PROPERTY( TQString text READ text ) @@ -565,7 +571,7 @@ private: * @see Startup * @see KWinModule */ -class KDE_EXPORT TaskManager : public TQObject +class TDE_EXPORT TaskManager : public TQObject { TQ_OBJECT TQ_PROPERTY( int currentDesktop READ currentDesktop ) diff --git a/kicker/taskmanager/taskrmbmenu.cpp b/kicker/taskmanager/taskrmbmenu.cpp index cdc6e4532..31c48d61c 100644 --- a/kicker/taskmanager/taskrmbmenu.cpp +++ b/kicker/taskmanager/taskrmbmenu.cpp @@ -24,6 +24,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <assert.h> +#include <tdeglobal.h> #include <kiconloader.h> #include <tdelocale.h> @@ -44,6 +45,8 @@ TaskRMBMenu::TaskRMBMenu(const Task::List& theTasks, bool show, TQPopupMenu* mov , showAll( show ) , taskMoveMenu( moveMenu ) { + TDEGlobal::iconLoader()->addAppDir("twin"); + assert(tasks.count() > 0); if (tasks.count() == 1) { @@ -68,9 +71,14 @@ void TaskRMBMenu::fillMenu(Task::Ptr t) int id; setCheckable(true); - insertItem(i18n("Ad&vanced"), makeAdvancedMenu(t)); bool checkActions = KWin::allowedActionsSupported(); + insertItem(i18n("Ad&vanced"), makeAdvancedMenu(t)); + + id = insertItem(i18n("T&ile"), makeTileMenu(t)); + setItemEnabled(id, !checkActions || + (t->info().actionSupported(NET::ActionMove) && t->info().actionSupported(NET::ActionResize))); + if (TaskManager::the()->numberOfDesktops() > 1) { id = insertItem(i18n("To &Desktop"), makeDesktopsMenu(t)); @@ -78,7 +86,7 @@ void TaskRMBMenu::fillMenu(Task::Ptr t) if (showAll) { id = insertItem(i18n("&To Current Desktop"), - t, TQT_SLOT(toCurrentDesktop())); + t, TQ_SLOT(toCurrentDesktop())); setItemEnabled( id, !t->isOnCurrentDesktop() ); } @@ -88,34 +96,34 @@ void TaskRMBMenu::fillMenu(Task::Ptr t) } } - id = insertItem(SmallIconSet("move"), i18n("&Move"), t, TQT_SLOT(move())); + id = insertItem(SmallIconSet("move"), i18n("&Move"), t, TQ_SLOT(move())); setItemEnabled(id, !checkActions || t->info().actionSupported(NET::ActionMove)); - id = insertItem(i18n("Re&size"), t, TQT_SLOT(resize())); + id = insertItem(i18n("Re&size"), t, TQ_SLOT(resize())); setItemEnabled(id, !checkActions || t->info().actionSupported(NET::ActionResize)); - id = insertItem(i18n("Mi&nimize"), t, TQT_SLOT(toggleIconified())); + id = insertItem(i18n("Mi&nimize"), t, TQ_SLOT(toggleIconified())); setItemChecked(id, t->isIconified()); setItemEnabled(id, !checkActions || t->info().actionSupported(NET::ActionMinimize)); - id = insertItem(i18n("Ma&ximize"), t, TQT_SLOT(toggleMaximized())); + id = insertItem(i18n("Ma&ximize"), t, TQ_SLOT(toggleMaximized())); setItemChecked(id, t->isMaximized()); setItemEnabled(id, !checkActions || t->info().actionSupported(NET::ActionMax)); - id = insertItem(i18n("&Shade"), t, TQT_SLOT(toggleShaded())); + id = insertItem(i18n("&Shade"), t, TQ_SLOT(toggleShaded())); setItemChecked(id, t->isShaded()); setItemEnabled(id, !checkActions || t->info().actionSupported(NET::ActionShade)); insertSeparator(); if (taskMoveMenu) { - taskMoveMenu->reparent(this, taskMoveMenu->getWFlags(), taskMoveMenu->geometry().topLeft(), FALSE); + taskMoveMenu->reparent(this, taskMoveMenu->getWFlags(), taskMoveMenu->geometry().topLeft(), false); insertItem(i18n("Move Task Button"), taskMoveMenu); insertSeparator(); } - id = insertItem(SmallIcon("window-close"), i18n("&Close"), t, TQT_SLOT(close())); + id = insertItem(SmallIcon("window-close"), i18n("&Close"), t, TQ_SLOT(close())); setItemEnabled(id, !checkActions || t->info().actionSupported(NET::ActionClose)); } @@ -133,7 +141,7 @@ void TaskRMBMenu::fillMenu() t->visibleNameWithState(), new TaskRMBMenu(t, this) ); setItemChecked( id, t->isActive() ); - connectItem( id, t, TQT_SLOT( activateRaiseOrIconify() ) ); + connectItem( id, t, TQ_SLOT( activateRaiseOrIconify() ) ); } insertSeparator(); @@ -144,7 +152,7 @@ void TaskRMBMenu::fillMenu() { id = insertItem(i18n("All to &Desktop"), makeDesktopsMenu()); - id = insertItem(i18n("All &to Current Desktop"), this, TQT_SLOT(slotAllToCurrentDesktop())); + id = insertItem(i18n("All &to Current Desktop"), this, TQ_SLOT(slotAllToCurrentDesktop())); Task::List::iterator itEnd = tasks.end(); for (Task::List::iterator it = tasks.begin(); it != itEnd; ++it) { @@ -159,7 +167,7 @@ void TaskRMBMenu::fillMenu() enable = false; - id = insertItem( i18n( "Mi&nimize All" ), this, TQT_SLOT( slotMinimizeAll() ) ); + id = insertItem( i18n( "Mi&nimize All" ), this, TQ_SLOT( slotMinimizeAll() ) ); itEnd = tasks.end(); for (Task::List::iterator it = tasks.begin(); it != itEnd; ++it) { @@ -172,7 +180,7 @@ void TaskRMBMenu::fillMenu() enable = false; - id = insertItem( i18n( "Ma&ximize All" ), this, TQT_SLOT( slotMaximizeAll() ) ); + id = insertItem( i18n( "Ma&ximize All" ), this, TQ_SLOT( slotMaximizeAll() ) ); itEnd = tasks.end(); for (Task::List::iterator it = tasks.begin(); it != itEnd; ++it) { @@ -185,7 +193,7 @@ void TaskRMBMenu::fillMenu() enable = false; - id = insertItem( i18n( "&Restore All" ), this, TQT_SLOT( slotRestoreAll() ) ); + id = insertItem( i18n( "&Restore All" ), this, TQ_SLOT( slotRestoreAll() ) ); itEnd = tasks.end(); for (Task::List::iterator it = tasks.begin(); it != itEnd; ++it) { @@ -201,13 +209,13 @@ void TaskRMBMenu::fillMenu() enable = false; if (taskMoveMenu) { - taskMoveMenu->reparent(this, taskMoveMenu->getWFlags(), taskMoveMenu->geometry().topLeft(), FALSE); + taskMoveMenu->reparent(this, taskMoveMenu->getWFlags(), taskMoveMenu->geometry().topLeft(), false); insertItem(i18n("Move Task Button"), taskMoveMenu); insertSeparator(); } - insertItem( SmallIcon( "window-close" ), i18n( "&Close All" ), this, TQT_SLOT( slotCloseAll() ) ); + insertItem( SmallIcon( "window-close" ), i18n( "&Close All" ), this, TQ_SLOT( slotCloseAll() ) ); } TQPopupMenu* TaskRMBMenu::makeAdvancedMenu(Task::Ptr t) @@ -219,17 +227,17 @@ TQPopupMenu* TaskRMBMenu::makeAdvancedMenu(Task::Ptr t) id = menu->insertItem(SmallIconSet("go-up"), i18n("Keep &Above Others"), - t, TQT_SLOT(toggleAlwaysOnTop())); + t, TQ_SLOT(toggleAlwaysOnTop())); menu->setItemChecked(id, t->isAlwaysOnTop()); id = menu->insertItem(SmallIconSet("go-down"), i18n("Keep &Below Others"), - t, TQT_SLOT(toggleKeptBelowOthers())); + t, TQ_SLOT(toggleKeptBelowOthers())); menu->setItemChecked(id, t->isKeptBelowOthers()); id = menu->insertItem(SmallIconSet("view-fullscreen"), i18n("&Fullscreen"), - t, TQT_SLOT(toggleFullScreen())); + t, TQ_SLOT(toggleFullScreen())); menu->setItemChecked(id, t->isFullScreen()); if (KWin::allowedActionsSupported()) @@ -245,7 +253,7 @@ TQPopupMenu* TaskRMBMenu::makeDesktopsMenu(Task::Ptr t) TQPopupMenu* m = new TQPopupMenu( this ); m->setCheckable( true ); - int id = m->insertItem( i18n("&All Desktops"), t, TQT_SLOT( toDesktop(int) ) ); + int id = m->insertItem( i18n("&All Desktops"), t, TQ_SLOT( toDesktop(int) ) ); m->setItemParameter( id, 0 ); // 0 means all desktops m->setItemChecked( id, t->isOnAllDesktops() ); @@ -253,7 +261,7 @@ TQPopupMenu* TaskRMBMenu::makeDesktopsMenu(Task::Ptr t) for (int i = 1; i <= TaskManager::the()->numberOfDesktops(); i++) { TQString name = TQString("&%1 %2").arg(i).arg(TaskManager::the()->desktopName(i).replace('&', "&&")); - id = m->insertItem( name, t, TQT_SLOT( toDesktop(int) ) ); + id = m->insertItem( name, t, TQ_SLOT( toDesktop(int) ) ); m->setItemParameter( id, i ); m->setItemChecked( id, !t->isOnAllDesktops() && t->desktop() == i ); } @@ -266,20 +274,47 @@ TQPopupMenu* TaskRMBMenu::makeDesktopsMenu() TQPopupMenu* m = new TQPopupMenu( this ); m->setCheckable( true ); - int id = m->insertItem( i18n("&All Desktops"), this, TQT_SLOT( slotAllToDesktop(int) ) ); + int id = m->insertItem( i18n("&All Desktops"), this, TQ_SLOT( slotAllToDesktop(int) ) ); m->setItemParameter( id, 0 ); // 0 means all desktops m->insertSeparator(); for (int i = 1; i <= TaskManager::the()->numberOfDesktops(); i++) { TQString name = TQString("&%1 %2").arg(i).arg(TaskManager::the()->desktopName(i).replace('&', "&&")); - id = m->insertItem( name, this, TQT_SLOT( slotAllToDesktop(int) ) ); + id = m->insertItem( name, this, TQ_SLOT( slotAllToDesktop(int) ) ); m->setItemParameter( id, i ); } return m; } +TQPopupMenu* TaskRMBMenu::makeTileMenu(Task::Ptr t) +{ + TQPopupMenu *m = new TQPopupMenu( this ); + + // Tile to side (the menu id matched the ActiveBorder index used for tiling) + int id = m->insertItem( UserIconSet("tile_left"), i18n("&Left"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 6 ); + id = m->insertItem( UserIconSet("tile_right"), i18n("&Right"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 2 ); + id = m->insertItem( UserIconSet("tile_top"), i18n("&Top"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 0 ); + id = m->insertItem( UserIconSet("tile_bottom"), i18n("&Bottom"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 4 ); + + // Tile to corner (the menu id matched the ActiveBorder index used for tiling) + id = m->insertItem( UserIconSet("tile_topleft"), i18n("Top &Left"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 7 ); + id = m->insertItem( UserIconSet("tile_topright"), i18n("Top &Right"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 1 ); + id = m->insertItem( UserIconSet("tile_bottomleft"), i18n("Bottom L&eft"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 5 ); + id = m->insertItem( UserIconSet("tile_bottomright"), i18n("&Bottom R&ight"), t, TQ_SLOT( tileTo(int) ) ); + m->setItemParameter( id, 3 ); + + return m; +} + void TaskRMBMenu::slotMinimizeAll() { Task::List::iterator itEnd = tasks.end(); diff --git a/kicker/taskmanager/taskrmbmenu.h b/kicker/taskmanager/taskrmbmenu.h index a73d83d3a..5dd66b98f 100644 --- a/kicker/taskmanager/taskrmbmenu.h +++ b/kicker/taskmanager/taskrmbmenu.h @@ -27,7 +27,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include <tqpopupmenu.h> -class KDE_EXPORT TaskRMBMenu : public TQPopupMenu +class TDE_EXPORT TaskRMBMenu : public TQPopupMenu { TQ_OBJECT @@ -38,9 +38,10 @@ public: private: void fillMenu(Task::Ptr); void fillMenu(); - TQPopupMenu* makeAdvancedMenu(Task::Ptr); + TQPopupMenu* makeAdvancedMenu(Task::Ptr); TQPopupMenu* makeDesktopsMenu(Task::Ptr); TQPopupMenu* makeDesktopsMenu(); + TQPopupMenu* makeTileMenu(Task::Ptr); private slots: void slotMinimizeAll(); @@ -48,7 +49,7 @@ private slots: void slotRestoreAll(); void slotShadeAll(); void slotCloseAll(); - void slotAllToDesktop( int desktop ); + void slotAllToDesktop(int desktop); void slotAllToCurrentDesktop(); private: |