aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar un1versal2016-06-10 03:28:12 +0100
committerGravatar GitHub2016-06-10 03:28:12 +0100
commitb73ca2e8e8141e7fba7e1a5ed59ce3215ae1f866 (patch)
treebe1ac51a66ed2b6703f6b2f55142e22ed8aa2a7d
parentRevert last commit (diff)
downloadKVIrc-b73ca2e8e8141e7fba7e1a5ed59ce3215ae1f866.tar.gz
KVIrc-b73ca2e8e8141e7fba7e1a5ed59ce3215ae1f866.tar.bz2
KVIrc-b73ca2e8e8141e7fba7e1a5ed59ce3215ae1f866.zip
add toggle + shortcut to switch between treewidow list <-> classic window list (#2007)
* KviMenuBar: add toggle Tree Window List -> Classic Window List resolves #1035 * KviMenuBar: read KviOption_boolUseTreeWindowList flag on the fly
-rw-r--r--src/kvilib/config/kvi_shortcuts.h1
-rw-r--r--src/kvirc/ui/KviMainWindow.cpp7
-rw-r--r--src/kvirc/ui/KviMainWindow.h1
-rw-r--r--src/kvirc/ui/KviMenuBar.cpp16
-rw-r--r--src/kvirc/ui/KviMenuBar.h1
5 files changed, 17 insertions, 9 deletions
diff --git a/src/kvilib/config/kvi_shortcuts.h b/src/kvilib/config/kvi_shortcuts.h
index 1e6df04c5..d767dd47d 100644
--- a/src/kvilib/config/kvi_shortcuts.h
+++ b/src/kvilib/config/kvi_shortcuts.h
@@ -149,6 +149,7 @@
#endif
#define KVI_SHORTCUTS_INPUT_REVERSE "Ctrl+R"
#define KVI_SHORTCUTS_SERVERS "Ctrl+S"
+#define KVI_SHORTCUTS_TOGGLE_TREE_LIST "Ctrl+T" // Ctrl+T
#define KVI_SHORTCUTS_INPUT_UNDERLINE QKeySequence::Underline // Ctrl+U
#define KVI_SHORTCUTS_INPUT_PASTE QKeySequence::Paste // Ctrl+V
#define KVI_SHORTCUTS_WIN_CLOSE "Ctrl+W" // QKeySequence::Close seems to be problematic
diff --git a/src/kvirc/ui/KviMainWindow.cpp b/src/kvirc/ui/KviMainWindow.cpp
index e28a20e0b..e08dd747d 100644
--- a/src/kvirc/ui/KviMainWindow.cpp
+++ b/src/kvirc/ui/KviMainWindow.cpp
@@ -1059,6 +1059,13 @@ void KviMainWindow::toggleMenuBar()
}
}
+void KviMainWindow::toggleWindowList()
+{
+ KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList) = !KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList);
+ recreateWindowList();
+ applyOptions();
+}
+
void KviMainWindow::fillToolBarsPopup(QMenu * p)
{
p->clear();
diff --git a/src/kvirc/ui/KviMainWindow.h b/src/kvirc/ui/KviMainWindow.h
index 8c3617ba0..e9a773724 100644
--- a/src/kvirc/ui/KviMainWindow.h
+++ b/src/kvirc/ui/KviMainWindow.h
@@ -159,6 +159,7 @@ public slots:
void executeInternalCommand(int index);
void toggleStatusBar();
void toggleMenuBar();
+ void toggleWindowList();
void customizeToolBars();
protected:
diff --git a/src/kvirc/ui/KviMenuBar.cpp b/src/kvirc/ui/KviMenuBar.cpp
index b202690e9..440d908a3 100644
--- a/src/kvirc/ui/KviMenuBar.cpp
+++ b/src/kvirc/ui/KviMenuBar.cpp
@@ -35,6 +35,7 @@
#include "KviKvsPopupMenu.h"
#include "KviMemory.h"
#include "KviModuleExtension.h"
+#include "KviOptions.h"
#include "KviActionManager.h"
#include "KviCoreActionNames.h"
#include "KviKvsScript.h"
@@ -166,6 +167,7 @@ void KviMenuBar::updateSettingsPopup()
#ifndef COMPILE_ON_MAC
m_pMenuBarAction->setChecked(true);
#endif
+ m_pWindowListAction->setChecked(KVI_OPTION_BOOL(KviOption_boolUseTreeWindowList));
}
void KviMenuBar::setupSettingsPopup(QMenu * pop)
@@ -187,6 +189,11 @@ void KviMenuBar::setupSettingsPopup(QMenu * pop)
m_pStatusBarAction = opt->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::StatusBar)), __tr2qs("Show Status Bar"), m_pFrm, SLOT(toggleStatusBar()));
m_pStatusBarAction->setCheckable(true);
+ m_pWindowListAction = opt->addAction(*(g_pIconManager->getSmallIcon(KviIconManager::TreeWindowList)), __tr2qs("Show Tree Window List"), m_pFrm, SLOT(toggleWindowList()));
+ g_pMainWindow->addAction(m_pWindowListAction);
+ m_pWindowListAction->setCheckable(true);
+ m_pWindowListAction->setShortcut(QKeySequence::fromString(KVI_SHORTCUTS_TOGGLE_TREE_LIST));
+
opt->addSeparator();
// FIXME: #warning "Toggle these items on the fly ?"
ACTION_POPUP_ITEM(KVI_COREACTION_GENERALOPTIONS, opt)
@@ -198,15 +205,6 @@ void KviMenuBar::setupSettingsPopup(QMenu * pop)
opt->addSeparator();
ACTION_POPUP_ITEM(KVI_COREACTION_MANAGETHEMES, opt)
ACTION_POPUP_ITEM(KVI_COREACTION_MANAGEADDONS, opt)
-
- // In 2010 this is not professional :D
- // The app must take care of saving user options whenever they are changed.
- //
- // If you're playing with unstable stuff then use /options.save to obtain
- // the same effect.
- //
- //opt->addSeparator();
- //opt->addAction(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_FLOPPY)),__tr2qs("&Save Configuration"),g_pApp,SLOT(saveConfiguration()));
}
void KviMenuBar::setupScriptingPopup(QMenu * pop)
diff --git a/src/kvirc/ui/KviMenuBar.h b/src/kvirc/ui/KviMenuBar.h
index 66e2069a7..58ba3f958 100644
--- a/src/kvirc/ui/KviMenuBar.h
+++ b/src/kvirc/ui/KviMenuBar.h
@@ -58,6 +58,7 @@ protected:
// Dynamic actions
QAction * m_pMenuBarAction;
QAction * m_pStatusBarAction;
+ QAction * m_pWindowListAction;
QAction * m_pDisconnectAction;
QAction * m_pModulesToolsAction;
QAction * m_pActionsToolsAction;