aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2012-01-01 16:43:23 +0000
committerGravatar Fabio Bas2012-01-01 16:43:23 +0000
commitb538ec203da0ad5f6ea00dc4340dac7af0169b90 (patch)
treed6233eb4e8e2453aa9d3834135b5327fc66a3aee /src
parentrefix #537 (diff)
downloadKVIrc-b538ec203da0ad5f6ea00dc4340dac7af0169b90.tar.gz
KVIrc-b538ec203da0ad5f6ea00dc4340dac7af0169b90.tar.bz2
KVIrc-b538ec203da0ad5f6ea00dc4340dac7af0169b90.zip
- Happy new year!
- Some parts of kvirc still refered to KviMainWindow as frame(), m_pFrm, etc.. => fixed - Some parts of kvirc were still coded as if more than one KviMainWindows could exists => fixed, this involved changing KviWindows's ctor and removing KviWindow::frame(), thus the big change - The trayicon module still called itself (and was called) dockextension, and was built to support more than one KviMainWindows => renamed and fixed - Modified KviWindow::hasAttention so that is can be used everywhere instead of mixing different ways to check if a notificationm should popup - should fix #1221 and hopefully introduce little to no bugs git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6010 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/config/kvi_sourcesdate.h4
-rw-r--r--src/kvirc/kernel/KviApplication.cpp2
-rw-r--r--src/kvirc/kernel/KviIrcConnection.cpp18
-rw-r--r--src/kvirc/kernel/KviIrcConnectionTargetResolver.cpp2
-rw-r--r--src/kvirc/kernel/KviIrcContext.cpp10
-rw-r--r--src/kvirc/kernel/KviIrcContext.h5
-rw-r--r--src/kvirc/kernel/KviNotifyList.cpp2
-rw-r--r--src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp2
-rw-r--r--src/kvirc/kvs/KviKvsCoreSimpleCommands_gl.cpp2
-rw-r--r--src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp18
-rw-r--r--src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp18
-rw-r--r--src/kvirc/sparser/KviIrcServerParser_ctcp.cpp2
-rw-r--r--src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp10
-rw-r--r--src/kvirc/ui/KviChannelWindow.cpp8
-rw-r--r--src/kvirc/ui/KviChannelWindow.h3
-rw-r--r--src/kvirc/ui/KviConsoleWindow.cpp10
-rw-r--r--src/kvirc/ui/KviConsoleWindow.h2
-rw-r--r--src/kvirc/ui/KviDebugWindow.cpp4
-rw-r--r--src/kvirc/ui/KviIrcView.cpp10
-rw-r--r--src/kvirc/ui/KviIrcView.h2
-rw-r--r--src/kvirc/ui/KviMainWindow.cpp38
-rw-r--r--src/kvirc/ui/KviMainWindow.h12
-rw-r--r--src/kvirc/ui/KviMdiChild.cpp4
-rw-r--r--src/kvirc/ui/KviMdiManager.cpp2
-rw-r--r--src/kvirc/ui/KviMdiManager.h4
-rw-r--r--src/kvirc/ui/KviQueryWindow.cpp6
-rw-r--r--src/kvirc/ui/KviQueryWindow.h3
-rw-r--r--src/kvirc/ui/KviTrayIcon.h (renamed from src/kvirc/ui/KviDockExtension.h)24
-rw-r--r--src/kvirc/ui/KviTreeWindowList.cpp10
-rw-r--r--src/kvirc/ui/KviWindow.cpp88
-rw-r--r--src/kvirc/ui/KviWindow.h41
-rw-r--r--src/kvirc/ui/KviWindowListBase.cpp22
-rw-r--r--src/modules/actioneditor/ActionEditor.cpp4
-rw-r--r--src/modules/actioneditor/ActionEditor.h2
-rw-r--r--src/modules/actioneditor/libkviactioneditor.cpp6
-rw-r--r--src/modules/aliaseditor/AliasEditorWindow.cpp4
-rw-r--r--src/modules/aliaseditor/AliasEditorWindow.h2
-rw-r--r--src/modules/aliaseditor/libkvialiaseditor.cpp6
-rw-r--r--src/modules/channelsjoin/ChannelsJoinDialog.cpp4
-rw-r--r--src/modules/channelsjoin/ChannelsJoinDialog.h3
-rw-r--r--src/modules/channelsjoin/libkvichannelsjoin.cpp2
-rw-r--r--src/modules/classeditor/ClassEditorWindow.cpp4
-rw-r--r--src/modules/classeditor/ClassEditorWindow.h3
-rw-r--r--src/modules/classeditor/libkviclasseditor.cpp6
-rw-r--r--src/modules/codetester/CodeTesterWindow.cpp4
-rw-r--r--src/modules/codetester/CodeTesterWindow.h2
-rw-r--r--src/modules/codetester/libkvicodetester.cpp6
-rw-r--r--src/modules/dcc/DccBroker.cpp29
-rw-r--r--src/modules/dcc/DccCanvasWindow.cpp6
-rw-r--r--src/modules/dcc/DccCanvasWindow.h2
-rw-r--r--src/modules/dcc/DccChatWindow.cpp22
-rw-r--r--src/modules/dcc/DccChatWindow.h2
-rw-r--r--src/modules/dcc/DccVideoWindow.cpp10
-rw-r--r--src/modules/dcc/DccVideoWindow.h2
-rw-r--r--src/modules/dcc/DccVoiceWindow.cpp6
-rw-r--r--src/modules/dcc/DccVoiceWindow.h2
-rw-r--r--src/modules/dcc/DccWindow.cpp4
-rw-r--r--src/modules/dcc/DccWindow.h2
-rw-r--r--src/modules/dcc/libkvidcc.cpp4
-rw-r--r--src/modules/eventeditor/EventEditorWindow.cpp4
-rw-r--r--src/modules/eventeditor/EventEditorWindow.h2
-rw-r--r--src/modules/eventeditor/libkvieventeditor.cpp6
-rw-r--r--src/modules/filetransferwindow/FileTransferWindow.cpp6
-rw-r--r--src/modules/filetransferwindow/FileTransferWindow.h2
-rw-r--r--src/modules/filetransferwindow/libkvifiletransferwindow.cpp2
-rw-r--r--src/modules/help/HelpWidget.cpp4
-rw-r--r--src/modules/help/HelpWidget.h2
-rw-r--r--src/modules/help/HelpWindow.cpp6
-rw-r--r--src/modules/help/HelpWindow.h2
-rw-r--r--src/modules/help/libkvihelp.cpp9
-rw-r--r--src/modules/iograph/libkviiograph.cpp6
-rw-r--r--src/modules/iograph/libkviiograph.h2
-rw-r--r--src/modules/links/LinksWindow.cpp6
-rw-r--r--src/modules/links/LinksWindow.h2
-rw-r--r--src/modules/links/libkvilinks.cpp4
-rw-r--r--src/modules/list/ListWindow.cpp6
-rw-r--r--src/modules/list/ListWindow.h2
-rw-r--r--src/modules/list/libkvilist.cpp4
-rw-r--r--src/modules/logview/LogViewWindow.cpp6
-rw-r--r--src/modules/logview/LogViewWindow.h2
-rw-r--r--src/modules/logview/libkvilogview.cpp2
-rw-r--r--src/modules/notifier/NotifierWindow.cpp2
-rw-r--r--src/modules/notifier/NotifierWindowTab.cpp12
-rw-r--r--src/modules/objects/KvsObject_window.cpp10
-rw-r--r--src/modules/objects/KvsObject_window.h2
-rw-r--r--src/modules/options/libkvioptions.cpp6
-rw-r--r--src/modules/popupeditor/PopupEditorWindow.cpp4
-rw-r--r--src/modules/popupeditor/PopupEditorWindow.h2
-rw-r--r--src/modules/popupeditor/libkvipopupeditor.cpp6
-rw-r--r--src/modules/raweditor/RawEditorWindow.cpp4
-rw-r--r--src/modules/raweditor/RawEditorWindow.h2
-rw-r--r--src/modules/raweditor/libkviraweditor.cpp6
-rw-r--r--src/modules/reguser/libkvireguser.cpp6
-rw-r--r--src/modules/sharedfileswindow/SharedFilesWindow.cpp4
-rw-r--r--src/modules/sharedfileswindow/SharedFilesWindow.h2
-rw-r--r--src/modules/sharedfileswindow/libkvisharedfileswindow.cpp2
-rw-r--r--src/modules/socketspy/SocketSpyWindow.cpp6
-rw-r--r--src/modules/socketspy/SocketSpyWindow.h2
-rw-r--r--src/modules/socketspy/libkvisocketspy.cpp4
-rw-r--r--src/modules/term/TermWidget.cpp2
-rw-r--r--src/modules/term/TermWidget.h2
-rw-r--r--src/modules/term/TermWindow.cpp6
-rw-r--r--src/modules/term/TermWindow.h2
-rw-r--r--src/modules/term/libkviterm.cpp6
-rw-r--r--src/modules/trayicon/libkvitrayicon.cpp159
-rw-r--r--src/modules/trayicon/libkvitrayicon.h11
-rw-r--r--src/modules/url/libkviurl.cpp2
-rw-r--r--src/modules/window/UserWindow.cpp21
-rw-r--r--src/modules/window/UserWindow.h2
-rw-r--r--src/modules/window/libkviwindow.cpp3
110 files changed, 431 insertions, 491 deletions
diff --git a/src/kvilib/config/kvi_sourcesdate.h b/src/kvilib/config/kvi_sourcesdate.h
index df19f2136..0ab1ba740 100644
--- a/src/kvilib/config/kvi_sourcesdate.h
+++ b/src/kvilib/config/kvi_sourcesdate.h
@@ -36,8 +36,8 @@
* \def KVI_SOURCES_DATE Defines the sources date
* \def KVI_SOURCES_DATE_NUMERIC Defines the sources date
*/
-#define KVI_SOURCES_DATE "20110830"
-#define KVI_SOURCES_DATE_NUMERIC 0x20110830
+#define KVI_SOURCES_DATE "20120101"
+#define KVI_SOURCES_DATE_NUMERIC 0x20120101
/**
* \brief This is the date of the sources before that we should force a setup
diff --git a/src/kvirc/kernel/KviApplication.cpp b/src/kvirc/kernel/KviApplication.cpp
index 6d3fbbbed..19122daf8 100644
--- a/src/kvirc/kernel/KviApplication.cpp
+++ b/src/kvirc/kernel/KviApplication.cpp
@@ -1237,7 +1237,7 @@ void KviApplication::fileDownloadTerminated(bool bSuccess, const QString & szRem
{
if(!g_pActiveWindow)
return;
- if(g_pActiveWindow->hasAttention())
+ if(g_pActiveWindow->hasAttention(KviWindow::MainWindowIsVisible))
return;
QString szMsg;
int iIconId;
diff --git a/src/kvirc/kernel/KviIrcConnection.cpp b/src/kvirc/kernel/KviIrcConnection.cpp
index 922659476..5dcf426b5 100644
--- a/src/kvirc/kernel/KviIrcConnection.cpp
+++ b/src/kvirc/kernel/KviIrcConnection.cpp
@@ -289,7 +289,7 @@ void KviIrcConnection::serverInfoReceived(const QString & szServerName, const QS
serverInfo()->setSupportedUserModes(szUserModes);
serverInfo()->setSupportedChannelModes(szChanModes);
m_pConsole->updateCaption(); // for server name
- m_pConsole->frame()->childConnectionServerInfoChange(this);
+ g_pMainWindow->childConnectionServerInfoChange(this);
}
const QString & KviIrcConnection::currentNetworkName()
@@ -692,8 +692,8 @@ KviChannelWindow * KviIrcConnection::createChannel(const QString & szName)
c->setFocus();
}
} else {
- c = new KviChannelWindow(m_pConsole->frame(),m_pConsole,szName);
- m_pConsole->frame()->addWindow(c,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedChannels));
+ c = new KviChannelWindow(m_pConsole, szName);
+ g_pMainWindow->addWindow(c,!KVI_OPTION_BOOL(KviOption_boolCreateMinimizedChannels));
if(KVI_OPTION_BOOL(KviOption_boolPasteLastLogOnChannelJoin))
c->pasteLastLog();
@@ -738,8 +738,8 @@ KviQueryWindow * KviIrcConnection::createQuery(const QString & szNick,CreateQuer
q->setFocus();
}
} else {
- q = new KviQueryWindow(m_pConsole->frame(),m_pConsole,szNick);
- m_pConsole->frame()->addWindow(q,bShowIt);
+ q = new KviQueryWindow(m_pConsole, szNick);
+ g_pMainWindow->addWindow(q,bShowIt);
}
return q;
}
@@ -1038,7 +1038,7 @@ void KviIrcConnection::changeAwayState(bool bAway)
else m_pUserInfo->setBack();
m_pConsole->updateCaption();
- m_pConsole->frame()->childConnectionAwayStateChange(this);
+ g_pMainWindow->childConnectionAwayStateChange(this);
emit awayStateChanged();
}
@@ -1684,7 +1684,7 @@ void KviIrcConnection::nickChange(const QString & szNewNick)
m_pConsole->notifyListView()->nickChange(m_pUserInfo->nickName(),szNewNick);
m_pUserInfo->setNickName(szNewNick);
m_pConsole->updateCaption();
- m_pConsole->frame()->childConnectionNickNameChange(this);
+ g_pMainWindow->childConnectionNickNameChange(this);
emit nickNameChanged();
g_pApp->addRecentNickname(szNewNick);
}
@@ -1702,7 +1702,7 @@ bool KviIrcConnection::changeUserMode(char cMode, bool bSet)
m_pUserInfo->removeUserMode(cMode);
}
m_pConsole->updateCaption();
- console()->frame()->childConnectionUserModeChange(this);
+ g_pMainWindow->childConnectionUserModeChange(this);
emit userModeChanged();
return true;
}
@@ -1786,7 +1786,7 @@ void KviIrcConnection::loginComplete(const QString & szNickName)
restartLagMeter();
if(KVI_OPTION_BOOL(KviOption_boolShowChannelsJoinOnIrc))
- m_pConsole->frame()->executeInternalCommand(KVI_INTERNALCOMMAND_CHANNELSJOIN_OPEN);
+ g_pMainWindow->executeInternalCommand(KVI_INTERNALCOMMAND_CHANNELSJOIN_OPEN);
// join saved channels
diff --git a/src/kvirc/kernel/KviIrcConnectionTargetResolver.cpp b/src/kvirc/kernel/KviIrcConnectionTargetResolver.cpp
index 5227b085e..65ea4bfdc 100644
--- a/src/kvirc/kernel/KviIrcConnectionTargetResolver.cpp
+++ b/src/kvirc/kernel/KviIrcConnectionTargetResolver.cpp
@@ -457,7 +457,7 @@ bool KviIrcConnectionTargetResolver::validateLocalAddress(const QString &szAddre
void KviIrcConnectionTargetResolver::haveServerIp()
{
if(KVI_OPTION_BOOL(KviOption_boolUseIdentService) && !KVI_OPTION_BOOL(KviOption_boolUseIdentServiceOnlyOnConnect))
- m_pConsole->frame()->executeInternalCommand(KVI_INTERNALCOMMAND_IDENT_START);
+ g_pMainWindow->executeInternalCommand(KVI_INTERNALCOMMAND_IDENT_START);
QString bindAddress;
diff --git a/src/kvirc/kernel/KviIrcContext.cpp b/src/kvirc/kernel/KviIrcContext.cpp
index f68fc3988..a362c931a 100644
--- a/src/kvirc/kernel/KviIrcContext.cpp
+++ b/src/kvirc/kernel/KviIrcContext.cpp
@@ -78,8 +78,6 @@ KviIrcContext::KviIrcContext(KviConsoleWindow * pConsole)
m_pConnection = 0;
- m_pFrame = m_pConsole->frame();
-
m_pDeadChannels = 0;
m_pDeadQueries = 0;
m_pContextWindows = 0;
@@ -156,7 +154,7 @@ void KviIrcContext::closeAllDeadChannels()
KviChannelWindow * c = m_pDeadChannels->first();
if(c)
{
- m_pFrame->closeWindow(c);
+ g_pMainWindow->closeWindow(c);
} else {
// ops....
delete m_pDeadChannels;
@@ -172,7 +170,7 @@ void KviIrcContext::closeAllDeadQueries()
KviQueryWindow * q = m_pDeadQueries->first();
if(q)
{
- m_pFrame->closeWindow(q);
+ g_pMainWindow->closeWindow(q);
} else {
// ops....
delete m_pDeadQueries;
@@ -188,7 +186,7 @@ void KviIrcContext::closeAllContextWindows()
KviWindow * w = m_pContextWindows->first();
if(w)
{
- m_pFrame->closeWindow(w);
+ g_pMainWindow->closeWindow(w);
} else {
// ops...
delete m_pContextWindows;
@@ -344,7 +342,7 @@ void KviIrcContext::setState(State eState)
if(m_eState == eState)return;
m_eState = eState;
- m_pFrame->childContextStateChange(this);
+ g_pMainWindow->childContextStateChange(this);
emit stateChanged();
diff --git a/src/kvirc/kernel/KviIrcContext.h b/src/kvirc/kernel/KviIrcContext.h
index cbd73b4df..85c580064 100644
--- a/src/kvirc/kernel/KviIrcContext.h
+++ b/src/kvirc/kernel/KviIrcContext.h
@@ -83,9 +83,6 @@ protected:
State m_eState; // this context state
- // helper pointers
- KviMainWindow * m_pFrame; // the owning frame, shallow, never null
-
// permanent links and list window
KviExternalServerDataParser * m_pLinksWindow;
KviExternalServerDataParser * m_pListWindow;
@@ -109,8 +106,6 @@ public:
inline unsigned int id(){ return m_uId; };
// never null and always the same!
inline KviConsoleWindow * console(){ return m_pConsole; };
- // never null and always the same
- inline KviMainWindow * frame(){ return m_pFrame; };
// may be null and may change!
inline KviIrcConnection * connection(){ return m_pConnection; };
// state
diff --git a/src/kvirc/kernel/KviNotifyList.cpp b/src/kvirc/kernel/KviNotifyList.cpp
index ab782252b..561ccb331 100644
--- a/src/kvirc/kernel/KviNotifyList.cpp
+++ b/src/kvirc/kernel/KviNotifyList.cpp
@@ -203,7 +203,7 @@ void KviNotifyListManager::notifyOnLine(const QString & szNick, const QString &
pOut->outputNoFmt(KVI_OUT_NOTIFYONLINE,szMsg);
- if(!(pOut->hasAttention()))
+ if(!(pOut->hasAttention(KviWindow::MainWindowIsVisible)))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashWindowOnNotifyOnLine))
pOut->demandAttention();
diff --git a/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp b/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp
index b1eba6737..5a7713946 100644
--- a/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp
+++ b/src/kvirc/kvs/KviKvsCoreFunctions_gl.cpp
@@ -470,6 +470,8 @@ KVSCF(gender)
KVSCF(insideAlias)
{
+ Q_UNUSED(__pParams);
+
KVSCF_pRetBuffer->setBoolean(KVSCF_pContext->aliasSwitchList());
return true;
}
diff --git a/src/kvirc/kvs/KviKvsCoreSimpleCommands_gl.cpp b/src/kvirc/kvs/KviKvsCoreSimpleCommands_gl.cpp
index e18fdecaf..b78f5a2ad 100644
--- a/src/kvirc/kvs/KviKvsCoreSimpleCommands_gl.cpp
+++ b/src/kvirc/kvs/KviKvsCoreSimpleCommands_gl.cpp
@@ -305,7 +305,7 @@ namespace KviKvsCoreSimpleCommands
KviWindow * pActive = KVSCSC_pWindow->context()->console()->activeWindow();
// Get the list of open windows
- KviPointerList<KviWindow> * pList = KVSCSC_pWindow->frame()->windowList();
+ KviPointerList<KviWindow> * pList = g_pMainWindow->windowList();
// Scan the windows
for(KviWindow * pWnd = pList->first(); pWnd; pWnd = pList->next())
diff --git a/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp b/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp
index 4203917cb..b10864557 100644
--- a/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp
+++ b/src/kvirc/kvs/KviKvsCoreSimpleCommands_mr.cpp
@@ -1147,21 +1147,23 @@ namespace KviKvsCoreSimpleCommands
@syntax:
raise
@short:
- Raises a KVIrc frame window
+ Raises the KVIrc frame window
@description:
- Raises and activates the current KVIrc frame window....assuming that your window manager supports it.[br]
+ Raises and activates the KVIrc frame window....assuming that your window manager supports it.[br]
*/
KVSCSC(raise)
{
Q_UNUSED(__pSwitches);
Q_UNUSED(__pParams);
-
- if(!KVSCSC_pWindow->frame()->isVisible())KVSCSC_pWindow->frame()->show();
- KVSCSC_pWindow->frame()->raise();
- //KVSCSC_pWindow->frame()->setActiveWindow();
- //KVSCSC_pWindow->frame()->setFocus();
- ((KviTalMainWindow *)KVSCSC_pWindow->frame())->activateWindow();
+ Q_UNUSED(__pContext);
+
+ if(!g_pMainWindow->isVisible())
+ g_pMainWindow->show();
+ g_pMainWindow->raise();
+ //g_pMainWindow->setActiveWindow();
+ //g_pMainWindow->setFocus();
+ g_pMainWindow->activateWindow();
return true;
}
diff --git a/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp b/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp
index 818b7cbc9..3f2cf2a46 100644
--- a/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp
+++ b/src/kvirc/kvs/KviKvsCoreSimpleCommands_sz.cpp
@@ -227,7 +227,7 @@ namespace KviKvsCoreSimpleCommands
KviConsoleWindow * console = 0;
if(KVSCSC_pSwitches->find('n',"new-context"))
- console = KVSCSC_pWindow->frame()->createNewConsole(false,!KVSCSC_pSwitches->find('m',"minimized"));
+ console = g_pMainWindow->createNewConsole(false,!KVSCSC_pSwitches->find('m',"minimized"));
else {
if(KVSCSC_pSwitches->find('u',"unused-context"))
{
@@ -244,10 +244,10 @@ namespace KviKvsCoreSimpleCommands
if(!console)
{
// yep, have to search
- console = KVSCSC_pWindow->frame()->firstNotConnectedConsole();
+ console = g_pMainWindow->firstNotConnectedConsole();
if(!console)
{
- console = KVSCSC_pWindow->frame()->createNewConsole(false,!KVSCSC_pSwitches->find('m',"minimized"));
+ console = g_pMainWindow->createNewConsole(false,!KVSCSC_pSwitches->find('m',"minimized"));
}
}
} else console = KVSCSC_pWindow->console();
@@ -392,7 +392,7 @@ namespace KviKvsCoreSimpleCommands
if(szPopupName.isEmpty())
{
- if(!(KVSCSC_pWindow->frame()->mainMenuBar()->removeMenu(szVisibleText)))
+ if(!(g_pMainWindow->mainMenuBar()->removeMenu(szVisibleText)))
{
if(!KVSCSC_pSwitches->find('q',"quiet"))KVSCSC_pContext->warning(__tr2qs_ctx("No menu bar item with text '%Q'","kvs"),&szVisibleText);
}
@@ -411,12 +411,14 @@ namespace KviKvsCoreSimpleCommands
KVSCSC_pContext->warning(__tr2qs_ctx("Invalid index specified: ignored","kvs"));
}
}
- KVSCSC_pWindow->frame()->mainMenuBar()->removeMenu(szVisibleText);
+ g_pMainWindow->mainMenuBar()->removeMenu(szVisibleText);
- idx = KVSCSC_pWindow->frame()->mainMenuBar()->getDefaultItemRealIndex(idx);
+ idx = g_pMainWindow->mainMenuBar()->getDefaultItemRealIndex(idx);
- if(p)KVSCSC_pWindow->frame()->mainMenuBar()->addMenu(szVisibleText,p,idx);
- else {
+ if(p)
+ {
+ g_pMainWindow->mainMenuBar()->addMenu(szVisibleText,p,idx);
+ } else {
if(!KVSCSC_pSwitches->find('q',"quiet"))KVSCSC_pContext->warning(__tr2qs_ctx("The popup '%Q' is not defined","kvs"),&szPopupName);
}
diff --git a/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp b/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp
index 28952d626..80a9a60e8 100644
--- a/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp
+++ b/src/kvirc/sparser/KviIrcServerParser_ctcp.cpp
@@ -1466,7 +1466,7 @@ void KviIrcServerParser::parseCtcpRequestAction(KviCtcpMessage *msg)
if(type == KVI_OUT_HIGHLIGHT || !bIsChannel)
{
- if(!pOut->hasAttention())
+ if(!pOut->hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashWindowOnHighlightedMessages))
pOut->demandAttention();
diff --git a/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp b/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp
index c5e05893f..57e4d1330 100644
--- a/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp
+++ b/src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp
@@ -336,7 +336,7 @@ void KviIrcServerParser::parseLiteralPart(KviIrcMessage *msg)
// It's me!
if(chan->closeOnPart() && !KVI_OPTION_BOOL(KviOption_boolKeepChannelOpenOnPart))
{
- chan->frame()->closeWindow(chan); // <-- deleted path
+ g_pMainWindow->closeWindow(chan); // <-- deleted path
} else {
chan->part(szNick); // this will trigger the action too
chan->setDeadChan();
@@ -591,7 +591,7 @@ void KviIrcServerParser::parseLiteralKick(KviIrcMessage *msg)
&szChan,&szNick,&szUser,&szHost,&szKickMsg);
}
} else {
- chan->frame()->closeWindow(chan); // <-- deleted path
+ g_pMainWindow->closeWindow(chan); // <-- deleted path
if(!msg->haltOutput())
{
@@ -913,7 +913,7 @@ void KviIrcServerParser::parseLiteralPrivmsg(KviIrcMessage *msg)
if(!msg->haltOutput())
{
int iFlags = 0;
- if(!query->hasAttention())
+ if(!query->hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashQueryWindowOnNewMessages))
{
@@ -1346,7 +1346,7 @@ output_to_query_window:
{
int iFlags = 0;
- if(!query->hasAttention())
+ if(!query->hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashQueryWindowOnNewMessages))
{
@@ -1630,7 +1630,7 @@ void KviIrcServerParser::parseLiteralNick(KviIrcMessage *msg)
&szNick,&szNewNick);
}
old->mergeQuery(q);
- q->frame()->closeWindow(q); // deleted path
+ g_pMainWindow->closeWindow(q); // deleted path
if(!msg->haltOutput())
old->output(KVI_OUT_NICK,__tr2qs("\r!n\r%Q\r [%Q@\r!h\r%Q\r] is now known as \r!n\r%Q\r"),
&szNick,&szUser,&szHost,&szNewNick);
diff --git a/src/kvirc/ui/KviChannelWindow.cpp b/src/kvirc/ui/KviChannelWindow.cpp
index df8f90477..8a57e2481 100644
--- a/src/kvirc/ui/KviChannelWindow.cpp
+++ b/src/kvirc/ui/KviChannelWindow.cpp
@@ -82,8 +82,8 @@
// FIXME: #warning "OnChannelFlood event...."
-KviChannelWindow::KviChannelWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole, const QString & szName)
-: KviWindow(KviWindow::Channel,lpFrm,szName,lpConsole)
+KviChannelWindow::KviChannelWindow(KviConsoleWindow * lpConsole, const QString & szName)
+: KviWindow(KviWindow::Channel,szName,lpConsole)
{
// Init some member variables
m_pInput = 0;
@@ -136,7 +136,7 @@ KviChannelWindow::KviChannelWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpC
m_pVertSplitter->setSizePolicy(oPolicy);
// With the IRC view over
- m_pIrcView = new KviIrcView(m_pVertSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pVertSplitter,this);
m_pIrcView->setObjectName(szName);
connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
// And the double view (that may be unused)
@@ -439,7 +439,7 @@ void KviChannelWindow::showDoubleView(bool bShow)
if(!bShow)
return;
- m_pMessageView = new KviIrcView(m_pVertSplitter,m_pFrm,this);
+ m_pMessageView = new KviIrcView(m_pVertSplitter,this);
m_pVertSplitter->setSizes(m_VertSplitterSizesList);
//this is an hack to simulate qt3's ResizeMode = Stretch
diff --git a/src/kvirc/ui/KviChannelWindow.h b/src/kvirc/ui/KviChannelWindow.h
index 2a7d7a229..9b374eee9 100644
--- a/src/kvirc/ui/KviChannelWindow.h
+++ b/src/kvirc/ui/KviChannelWindow.h
@@ -145,12 +145,11 @@ public:
/**
* \brief Constructs the channel object
- * \param lpFrm The parent frame object
* \param lpConsole The console of the context
* \param szName The name of the channel
* \return KviChannelWindow
*/
- KviChannelWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole, const QString & szName);
+ KviChannelWindow(KviConsoleWindow * lpConsole, const QString & szName);
/**
* \brief Destroys the channel object
diff --git a/src/kvirc/ui/KviConsoleWindow.cpp b/src/kvirc/ui/KviConsoleWindow.cpp
index 6cf238e39..3629e72c7 100644
--- a/src/kvirc/ui/KviConsoleWindow.cpp
+++ b/src/kvirc/ui/KviConsoleWindow.cpp
@@ -91,11 +91,11 @@
extern KVIRC_API KviIrcServerDataBase * g_pServerDataBase;
extern KVIRC_API KviProxyDataBase * g_pProxyDataBase;
-KviConsoleWindow::KviConsoleWindow(KviMainWindow * lpFrm,int iFlags)
+KviConsoleWindow::KviConsoleWindow(int iFlags)
#ifdef COMPILE_ON_WINDOWS
-: KviWindow(KviWindow::Console,lpFrm,__tr2qs("CONSOLE"),0)
+: KviWindow(KviWindow::Console,__tr2qs("CONSOLE"),0)
#else
-: KviWindow(KviWindow::Console,lpFrm,__tr2qs("CONSOLE"),this)
+: KviWindow(KviWindow::Console,__tr2qs("CONSOLE"),this)
#endif
{
m_pConsole = this;
@@ -131,7 +131,7 @@ KviConsoleWindow::KviConsoleWindow(KviMainWindow * lpFrm,int iFlags)
m_pSplitter->setObjectName("console_splitter");
m_pSplitter->setChildrenCollapsible(false);
- m_pIrcView = new KviIrcView(m_pSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pSplitter, this);
connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
// FIXME: #warning "If notify list is disabled avoid to show this"
@@ -706,7 +706,7 @@ void KviConsoleWindow::outputPrivmsg(KviWindow *wnd,
if(type < 0)return; // event stopped the message!
if(type == KVI_OUT_HIGHLIGHT)
{
- if(!wnd->hasAttention())
+ if(!wnd->hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashWindowOnHighlightedMessages) &&
(!(iFlags & NoWindowFlashing)))
diff --git a/src/kvirc/ui/KviConsoleWindow.h b/src/kvirc/ui/KviConsoleWindow.h
index 7a4ecaff2..013d1293a 100644
--- a/src/kvirc/ui/KviConsoleWindow.h
+++ b/src/kvirc/ui/KviConsoleWindow.h
@@ -83,7 +83,7 @@ class KVIRC_API KviConsoleWindow : public KviWindow
friend class KviIrcContext;
Q_OBJECT
protected:
- KviConsoleWindow(KviMainWindow * lpFrm,int iFlags);
+ KviConsoleWindow(int iFlags);
public:
~KviConsoleWindow();
protected:
diff --git a/src/kvirc/ui/KviDebugWindow.cpp b/src/kvirc/ui/KviDebugWindow.cpp
index 10301b758..22c834521 100644
--- a/src/kvirc/ui/KviDebugWindow.cpp
+++ b/src/kvirc/ui/KviDebugWindow.cpp
@@ -42,12 +42,12 @@ KviDebugWindow * KviDebugWindow::m_pInstance = 0;
KviDebugWindow::KviDebugWindow()
-: KviWindow(KviWindow::Debug,g_pMainWindow,__tr2qs("Debug Messages"),0)
+: KviWindow(KviWindow::Debug,__tr2qs("Debug Messages"),0)
{
m_pInstance = this;
m_pSplitter = new KviTalSplitter(Qt::Horizontal,this);
m_pSplitter->setObjectName("main_splitter");
- m_pIrcView = new KviIrcView(m_pSplitter,g_pMainWindow,this);
+ m_pIrcView = new KviIrcView(m_pSplitter,this);
m_pInput = new KviInput(this,0);
updateCaption();
}
diff --git a/src/kvirc/ui/KviIrcView.cpp b/src/kvirc/ui/KviIrcView.cpp
index ed3bd09b6..305ef96ac 100644
--- a/src/kvirc/ui/KviIrcView.cpp
+++ b/src/kvirc/ui/KviIrcView.cpp
@@ -99,7 +99,7 @@
#include "KviTalPopupMenu.h"
#include "KviAnimatedPixmap.h"
#include "KviPixmapUtils.h"
-#include "KviDockExtension.h"
+#include "KviTrayIcon.h"
#include <QBitmap>
#include <QPainter>
@@ -211,7 +211,7 @@
//
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-KviIrcView::KviIrcView(QWidget *parent,KviMainWindow *pFrm,KviWindow *pWnd)
+KviIrcView::KviIrcView(QWidget *parent, KviWindow *pWnd)
: QWidget(parent)
{
setObjectName("irc_view");
@@ -258,7 +258,6 @@ KviIrcView::KviIrcView(QWidget *parent,KviMainWindow *pFrm,KviWindow *pWnd)
m_bSkipScrollBarRepaint = false;
m_pLogFile = 0;
m_pKviWindow = pWnd;
- m_pFrm = pFrm;
m_iUnprocessedPaintEventRequests = 0;
m_bPostedPaintEventPending = false;
@@ -510,9 +509,8 @@ void KviIrcView::clearUnreaded()
m_bHaveUnreadedHighlightedMessages = false;
m_bHaveUnreadedMessages = false;
- if(m_pFrm)
- if(m_pFrm->dockExtension())
- m_pFrm->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
}
void KviIrcView::setMaxBufferSize(int maxBufSize,bool bRepaint)
diff --git a/src/kvirc/ui/KviIrcView.h b/src/kvirc/ui/KviIrcView.h
index c7ccd6e99..c57af5088 100644
--- a/src/kvirc/ui/KviIrcView.h
+++ b/src/kvirc/ui/KviIrcView.h
@@ -65,7 +65,7 @@ public:
friend class KviIrcViewToolTip;
friend class KviIrcViewToolWidget;
public:
- KviIrcView(QWidget *parent,KviMainWindow *pFrm,KviWindow *pWnd);
+ KviIrcView(QWidget *parent, KviWindow *pWnd);
~KviIrcView();
public:
int dummyRead() const { return 0; };
diff --git a/src/kvirc/ui/KviMainWindow.cpp b/src/kvirc/ui/KviMainWindow.cpp
index eacffd159..7c3198429 100644
--- a/src/kvirc/ui/KviMainWindow.cpp
+++ b/src/kvirc/ui/KviMainWindow.cpp
@@ -40,7 +40,7 @@
#include "KviConfigurationFile.h"
#include "KviInternalCommand.h"
#include "KviConsoleWindow.h"
-#include "KviDockExtension.h"
+#include "KviTrayIcon.h"
#include "kvi_debug.h"
#include "KviIrcToolBar.h"
#include "kvi_confignames.h"
@@ -114,7 +114,7 @@ KviMainWindow::KviMainWindow()
m_pActiveContext = NULL;
- m_pDockExtension = NULL;
+ m_pTrayIcon = NULL;
m_pSplitter = new QSplitter(Qt::Horizontal,this);
m_pSplitter->setObjectName("main_frame_splitter");
@@ -216,12 +216,12 @@ KviMainWindow::~KviMainWindow()
while(KviMexToolBar * t = m_pModuleExtensionToolBarList->first())t->die();
delete m_pModuleExtensionToolBarList;
- KVI_OPTION_BOOL(KviOption_boolShowDockExtension) = m_pDockExtension != NULL;
+ KVI_OPTION_BOOL(KviOption_boolShowDockExtension) = m_pTrayIcon != NULL;
- if(m_pDockExtension)
+ if(m_pTrayIcon)
{
- m_pDockExtension->die();
- m_pDockExtension = NULL;
+ m_pTrayIcon->die();
+ m_pTrayIcon = NULL;
}
if(m_pStatusBar)
@@ -415,9 +415,11 @@ void KviMainWindow::saveWindowProperties(KviWindow * wnd,const QString &szSectio
g_pWinPropertiesConfig->writeEntry("IsDocked",wnd->isDocked());
- if (!wnd->isDocked() && wnd->mdiParent())
+ if (wnd->isDocked())
{
- g_pWinPropertiesConfig->writeEntry("IsMaximized",wnd->mdiParent()->isMaximized());
+ // qt4's mdi implementation allows only 1 mdichild to be maximized..
+ // so this is useless unless we want to handle the "currently maximized window" => the active window
+ g_pWinPropertiesConfig->writeEntry("IsMaximized",false);
} else {
g_pWinPropertiesConfig->writeEntry("IsMaximized",wnd->isMaximized());
}
@@ -538,8 +540,6 @@ void KviMainWindow::addWindow(KviWindow *wnd,bool bShow)
if(KVI_OPTION_BOOL(KviOption_boolWindowsRememberProperties))
{
bool bDocked = g_pWinPropertiesConfig->readBoolEntry("IsDocked",true);
- bool bMaximized = g_pWinPropertiesConfig->readBoolEntry("IsMaximized",false);
-
QRect rect = g_pWinPropertiesConfig->readRectEntry("WinRect",QRect(10,10,500,380));
if(bDocked)
@@ -548,7 +548,7 @@ void KviMainWindow::addWindow(KviWindow *wnd,bool bShow)
// this means that windows that have no specialized config group name
// are always cascaded : this is true for consoles, queries (and other windows) but not channels (and some other windows)
// FIXME: Since the introduction of QMdiArea cascading (and positioning of windows in general) no longer works
- KviMdiChild * lpC = dockWindow(wnd,bGroupSettings,&rect);
+ KviMdiChild * lpC = dockWindow(wnd);
lpC->setGeometry(rect);
wnd->triggerCreationEvents();
if(bShow)
@@ -561,6 +561,8 @@ void KviMainWindow::addWindow(KviWindow *wnd,bool bShow)
childWindowActivated(wnd);
}
} else {
+ bool bMaximized = g_pWinPropertiesConfig->readBoolEntry("IsMaximized",false);
+
wnd->setGeometry(rect);
wnd->triggerCreationEvents();
@@ -612,7 +614,7 @@ docking_done:
}
}
-KviMdiChild * KviMainWindow::dockWindow(KviWindow * wnd, bool bCascade, QRect * setGeom)
+KviMdiChild * KviMainWindow::dockWindow(KviWindow * wnd)
{
if(wnd->mdiParent())return wnd->mdiParent();
KviMdiChild * lpC = new KviMdiChild(m_pMdi,"");
@@ -620,7 +622,7 @@ KviMdiChild * KviMainWindow::dockWindow(KviWindow * wnd, bool bCascade, QRect *
lpC->setGeometry(wnd->geometry());
wnd->youAreDocked();
- m_pMdi->manageChild(lpC,bCascade,setGeom);
+ m_pMdi->manageChild(lpC);
return lpC;
}
@@ -649,7 +651,7 @@ KviConsoleWindow * KviMainWindow::createNewConsole(bool bFirstInFrame,bool bShow
// at startup otherwise we cannot execute script code
// which is necessary for the actions that are going to be added
// to the toolbars
- KviConsoleWindow * c = new KviConsoleWindow(this,bFirstInFrame ? KVI_CONSOLE_FLAG_FIRSTINFRAME : 0);
+ KviConsoleWindow * c = new KviConsoleWindow(bFirstInFrame ? KVI_CONSOLE_FLAG_FIRSTINFRAME : 0);
addWindow(c,bShowIt);
if(bFirstInFrame)
@@ -822,11 +824,11 @@ void KviMainWindow::closeEvent(QCloseEvent *e)
//of this signal (sender!=0), it has been generated by a "quit" action in a menu
if(KVI_OPTION_BOOL(KviOption_boolCloseInTray) && QObject::sender()==0 && e->spontaneous())
{
- if(!dockExtension())
+ if(!trayIcon())
{
executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_SHOW);
}
- if(dockExtension())
+ if(trayIcon())
{
e->ignore();
KVI_OPTION_BOOL(KviOption_boolFrameIsMaximized) = isMaximized();
@@ -886,11 +888,11 @@ void KviMainWindow::hideEvent(QHideEvent *e)
{
if(KVI_OPTION_BOOL(KviOption_boolMinimizeInTray) && e->spontaneous())
{
- if(!dockExtension())
+ if(!trayIcon())
{
executeInternalCommand(KVI_INTERNALCOMMAND_TRAYICON_SHOW);
}
- if(dockExtension())
+ if(trayIcon())
{
KVI_OPTION_BOOL(KviOption_boolFrameIsMaximized) = isMaximized();
QTimer::singleShot( 0, this, SLOT(hide()) );
diff --git a/src/kvirc/ui/KviMainWindow.h b/src/kvirc/ui/KviMainWindow.h
index e38429373..178bbd847 100644
--- a/src/kvirc/ui/KviMainWindow.h
+++ b/src/kvirc/ui/KviMainWindow.h
@@ -50,7 +50,7 @@ class KviIrcContext;
class KviIrcConnection;
class KviStatusBar;
class KviTalPopupMenu;
-class KviDockExtension;
+class KviTrayIcon;
class QShortcut;
#ifdef COMPILE_ON_WINDOWS
@@ -89,7 +89,7 @@ protected:
KviPointerList<KviWindow> * m_pWinList; // the main list of windows
KviIrcContext * m_pActiveContext; // the context of the m_pActiveWindow
// other
- KviDockExtension * m_pDockExtension; // the frame's dock extension: this should be prolly moved ?
+ KviTrayIcon * m_pTrayIcon; // the frame's dock extension: this should be prolly moved ?
KviPointerList<QShortcut> * m_pAccellerators; // global application accellerators
public:
// the mdi manager: handles mdi children
@@ -134,11 +134,11 @@ public:
// Returns the first console that has no connection in progress
// This function CAN return 0 if all the consoles are connected
KviConsoleWindow * firstNotConnectedConsole();
- // this is explicitly dedicated to the DockExtension applets
- void setDockExtension(KviDockExtension * e){ m_pDockExtension = e; };
+ // this is explicitly dedicated to the TrayIcon module
+ void setTrayIcon(KviTrayIcon * e){ m_pTrayIcon = e; };
// returns the dockExtension applet. Useful for calling refresh() when
// some particular event happens
- KviDockExtension * dockExtension(){ return m_pDockExtension; };
+ KviTrayIcon * trayIcon(){ return m_pTrayIcon; };
// helper for saving the window properties
void saveWindowProperties(KviWindow * wnd,const QString &szSection);
// finds the module extension toolbar with the specified identifier
@@ -168,7 +168,7 @@ protected:
void createWindowList();
void recreateWindowList();
- KviMdiChild * dockWindow(KviWindow *wnd,bool bCascade = true,QRect * setGeom = 0);
+ KviMdiChild * dockWindow(KviWindow *wnd);
void undockWindow(KviWindow *wnd);
// called by KviWindow
diff --git a/src/kvirc/ui/KviMdiChild.cpp b/src/kvirc/ui/KviMdiChild.cpp
index 1539096f5..1622a96bc 100644
--- a/src/kvirc/ui/KviMdiChild.cpp
+++ b/src/kvirc/ui/KviMdiChild.cpp
@@ -45,10 +45,6 @@
#include "KviIrcNetwork.h"
#include "KviKvsEventTriggers.h"
-#ifdef COMPILE_ON_MAC
- #include "KviApplication.h" //Needed for g_pApp
-#endif
-
#include <QTimer>
#ifdef COMPILE_PSEUDO_TRANSPARENCY
diff --git a/src/kvirc/ui/KviMdiManager.cpp b/src/kvirc/ui/KviMdiManager.cpp
index a0dca046f..6fed054a1 100644
--- a/src/kvirc/ui/KviMdiManager.cpp
+++ b/src/kvirc/ui/KviMdiManager.cpp
@@ -121,7 +121,7 @@ void KviMdiManager::paintEvent(QPaintEvent * e)
}
}
-void KviMdiManager::manageChild(KviMdiChild * lpC, bool, QRect *)
+void KviMdiManager::manageChild(KviMdiChild * lpC)
{
addSubWindow((QMdiSubWindow*)lpC);
diff --git a/src/kvirc/ui/KviMdiManager.h b/src/kvirc/ui/KviMdiManager.h
index e46557a57..c1c40c17f 100644
--- a/src/kvirc/ui/KviMdiManager.h
+++ b/src/kvirc/ui/KviMdiManager.h
@@ -93,11 +93,9 @@ public:
/**
* \brief Add an KviMdiChild to the area
* \param lpC The KviMdiChild
- * \param bCascade Cascade window or not.
- * \param setGeom Sets the windows geometry before shown
* \return void
*/
- void manageChild(KviMdiChild * lpC, bool bCascade = true, QRect * setGeom = 0);
+ void manageChild(KviMdiChild * lpC);
/**
* \brief Show the KviMdiChild and bring it to the front
diff --git a/src/kvirc/ui/KviQueryWindow.cpp b/src/kvirc/ui/KviQueryWindow.cpp
index 97828a5ff..c98a6bd91 100644
--- a/src/kvirc/ui/KviQueryWindow.cpp
+++ b/src/kvirc/ui/KviQueryWindow.cpp
@@ -65,8 +65,8 @@
#include <QByteArray>
#include <QTextDocument> // for Qt::escape_command
-KviQueryWindow::KviQueryWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole, const QString & szNick)
-: KviWindow(KviWindow::Query,lpFrm,szNick,lpConsole)
+KviQueryWindow::KviQueryWindow(KviConsoleWindow * lpConsole, const QString & szNick)
+: KviWindow(KviWindow::Query,szNick,lpConsole)
{
m_iFlags = 0;
connection()->registerQuery(this);
@@ -87,7 +87,7 @@ KviQueryWindow::KviQueryWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConso
m_pSplitter->setObjectName("query_splitter");
m_pSplitter->setChildrenCollapsible(false);
- m_pIrcView = new KviIrcView(m_pSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pSplitter, this);
connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
//m_pEditorsContainer= new KviToolWindowsContainer(m_pSplitter);
diff --git a/src/kvirc/ui/KviQueryWindow.h b/src/kvirc/ui/KviQueryWindow.h
index a57340cf9..d5a5f3e6b 100644
--- a/src/kvirc/ui/KviQueryWindow.h
+++ b/src/kvirc/ui/KviQueryWindow.h
@@ -60,12 +60,11 @@ public:
/**
* \brief Constructs the query object
- * \param lpFrm The parent frame
* \param lpConsole The associated console
* \param szNick The nickname with who we open a query
* \return KviQueryWindow
*/
- KviQueryWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole, const QString & szNick);
+ KviQueryWindow(KviConsoleWindow * lpConsole, const QString & szNick);
/**
* \brief Destroys the query object
diff --git a/src/kvirc/ui/KviDockExtension.h b/src/kvirc/ui/KviTrayIcon.h
index 1b3c6140c..4b15fd79a 100644
--- a/src/kvirc/ui/KviDockExtension.h
+++ b/src/kvirc/ui/KviTrayIcon.h
@@ -1,8 +1,8 @@
-#ifndef _KviDockExtension_h_
-#define _KviDockExtension_h_
+#ifndef _KviTrayIcon_h_
+#define _KviTrayIcon_h_
//=============================================================================
//
-// File : KviDockExtension.h
+// File : KviTrayIcon.h
// Creation date : Sun Jun 18 2000 17:59:02 CEST by Szymon Stefanek
//
// This file is part of the KVIrc irc client distribution
@@ -29,12 +29,12 @@
#include <QWidget>
///
-/// \class KviDockExtension
-/// \brief The KviDockExtension class
+/// \class KviTrayIcon
+/// \brief The KviTrayIcon class
///
/// Base class for the dock extension applets..
///
-class KVIRC_API KviDockExtension
+class KVIRC_API KviTrayIcon
{
private:
Qt::WindowStates m_oStoredWindowStates;
@@ -42,18 +42,18 @@ private:
public:
///
- /// Creates an instance of KviDockExtension
+ /// Creates an instance of KviTrayIcon
///
- KviDockExtension()
+ KviTrayIcon()
: m_oStoredWindowStates(0)
{
}
///
- /// Destroys the instance of KviDockExtension
+ /// Destroys the instance of KviTrayIcon
/// and frees all the relevant resources
///
- virtual ~KviDockExtension()
+ virtual ~KviTrayIcon()
{
}
@@ -78,8 +78,8 @@ public:
delete this;
}
-}; // class KviDockExtension
+}; // class KviTrayIcon
-#endif //!_KviDockExtension_h_
+#endif //!_KviTrayIcon_h_
diff --git a/src/kvirc/ui/KviTreeWindowList.cpp b/src/kvirc/ui/KviTreeWindowList.cpp
index 417bc4a2e..f46cbff58 100644
--- a/src/kvirc/ui/KviTreeWindowList.cpp
+++ b/src/kvirc/ui/KviTreeWindowList.cpp
@@ -33,7 +33,7 @@
#include "KviWindow.h"
#include "KviTreeWindowList.h"
#include "KviPixmapUtils.h"
-#include "KviDockExtension.h"
+#include "KviTrayIcon.h"
#include <QHeaderView>
#include <QMouseEvent>
@@ -113,7 +113,7 @@ void KviTreeWindowListItem::unhighlight()
m_iHighlightLevel = 0;
setData(0, KVI_TTBID_HIGHLIGHT, m_iHighlightLevel);
- if(g_pMainWindow->dockExtension())g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())g_pMainWindow->trayIcon()->refresh();
}
void KviTreeWindowListItem::highlight(int iLevel)
@@ -123,8 +123,8 @@ void KviTreeWindowListItem::highlight(int iLevel)
m_iHighlightLevel = iLevel;
setData(0, KVI_TTBID_HIGHLIGHT, m_iHighlightLevel);
- if(g_pMainWindow->dockExtension())
- g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
}
void KviTreeWindowListItem::setProgress(int progress)
@@ -450,7 +450,7 @@ void KviTreeWindowList::setActiveItem(KviWindowListItem * it)
}
((KviTreeWindowListItem *)it)->setActive(true);
- if(g_pMainWindow->dockExtension())g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())g_pMainWindow->trayIcon()->refresh();
}
}
diff --git a/src/kvirc/ui/KviWindow.cpp b/src/kvirc/ui/KviWindow.cpp
index 49d2f9570..27f99fecf 100644
--- a/src/kvirc/ui/KviWindow.cpp
+++ b/src/kvirc/ui/KviWindow.cpp
@@ -100,7 +100,7 @@ static QAction * g_pMdiWindowSystemTextEncodingDefaultAction = 0;
unsigned long int g_uUniqueWindowId = 1;
-KviWindow::KviWindow(Type eType, KviMainWindow * lpFrm, const QString & szName, KviConsoleWindow * lpConsole)
+KviWindow::KviWindow(Type eType, const QString & szName, KviConsoleWindow * lpConsole)
: QWidget(0)
{
m_uId = g_uUniqueWindowId;
@@ -114,7 +114,6 @@ KviWindow::KviWindow(Type eType, KviMainWindow * lpFrm, const QString & szName,
m_eType = eType;
m_pFocusHandler = 0;
- m_pFrm = lpFrm; // FIXME: Should disappear!
m_pIrcView = 0;
m_pInput = 0;
m_pSplitter = 0;
@@ -184,78 +183,49 @@ void KviWindow::reloadImages()
updateIcon();
}
-bool KviWindow::hasAttention()
+bool KviWindow::hasAttention(AttentionLevel eLevel)
{
- if(((QApplication *)g_pApp)->activeWindow() == 0)
- return false; // no application window has the focus atm
-
if(mdiParent())
{
- // This frame is not the active window but the
- // active window still belongs to KVIrc.
- // When the active window is derived from QDialog
- // then it is probably a KVIrc's option dialog
- // or something similar.
- // In this case we assume that the user has the
- // KVIrc window just below and can see it.
- if(frame()->isActiveWindow())
- return true;
-
- // Handle the special case of the dialogs then
- QWidget * pWidget = ((QApplication *)g_pApp)->activeWindow();
- if(pWidget->inherits("QDialog"))
+ switch(eLevel)
{
- // but make sure that the frame is visible at all!
- if(!frame()->isVisible())
+ case VisibleAndActive:
+ return (g_pMainWindow->isActiveWindow() && g_pActiveWindow == this);
+ break;
+ case MainWindowIsVisible:
+ return g_pMainWindow->isActiveWindow();
+ break;
+ default:
return false;
- return true;
+ break;
}
- // any other class is so unfrequent that we ignore it
} else {
- // when the window is undocked, instead
- // it is likely to be covered by KVIrc or other windows...
+ // undocked window
if(isActiveWindow())
return true;
}
+
return false;
}
void KviWindow::demandAttention()
{
- if(mdiParent())
- {
- if(frame()->isActiveWindow())
- return;
-#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
- FLASHWINFO fwi;
- fwi.cbSize = sizeof(fwi);
- fwi.hwnd = (HWND)(frame()->winId());
- fwi.dwFlags = FLASHW_TRAY | FLASHW_TIMERNOFG;
- fwi.uCount = 20;
- fwi.dwTimeout = 500;
- FlashWindowEx(&fwi);
-#else
- #ifdef COMPILE_KDE_SUPPORT
- KWindowSystem::demandAttention(frame()->winId(),true);
- #endif
-#endif
- } else {
- if(isActiveWindow())
- return;
+ if(hasAttention())
+ return;
+
+ WId windowId = mdiParent() ? g_pMainWindow->winId() : winId();
+
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
- FLASHWINFO fwi;
- fwi.cbSize = sizeof(fwi);
- fwi.hwnd = (HWND)winId();
- fwi.dwFlags = FLASHW_TRAY | FLASHW_TIMERNOFG;
- fwi.uCount = 20;
- fwi.dwTimeout = 500;
- FlashWindowEx(&fwi);
-#else
- #ifdef COMPILE_KDE_SUPPORT
- KWindowSystem::demandAttention(winId(),true);
- #endif
+ FLASHWINFO fwi;
+ fwi.cbSize = sizeof(fwi);
+ fwi.hwnd = (HWND)windowId;
+ fwi.dwFlags = FLASHW_TRAY | FLASHW_TIMERNOFG;
+ fwi.uCount = 20;
+ fwi.dwTimeout = 500;
+ FlashWindowEx(&fwi);
+#elif defined(COMPILE_KDE_SUPPORT)
+ KWindowSystem::demandAttention(windowId,true);
#endif
- }
}
bool KviWindow::focusNextPrevChild(bool bNext)
@@ -1206,7 +1176,7 @@ void KviWindow::restore()
QRect KviWindow::externalGeometry()
{
#ifndef COMPILE_ON_MAC
- return mdiParent() ? mdiParent()->geometry() : frameGeometry();
+ return mdiParent() ? mdiParent()->frameGeometry() : frameGeometry();
#else
return mdiParent() ? mdiParent()->geometry() : geometry();
#endif
@@ -1244,7 +1214,7 @@ void KviWindow::internalOutput(KviIrcView * pView, int iMsgType, const kvi_wchar
if(pView)
{
- if((this != g_pActiveWindow) || (!isActiveWindow()))
+ if(!hasAttention())
{
iFlags |= KviIrcView::TriggersNotification;
if(!pView->hasLineMark())
diff --git a/src/kvirc/ui/KviWindow.h b/src/kvirc/ui/KviWindow.h
index 12e934965..54a09d5db 100644
--- a/src/kvirc/ui/KviWindow.h
+++ b/src/kvirc/ui/KviWindow.h
@@ -117,6 +117,14 @@ public:
};
/**
+ * \enum AttentionLevel
+ * \brief attention levels usable in hasAttention()
+ */
+ enum AttentionLevel {
+ VisibleAndActive = 0, /**< The window is visible and active (aka: has user focus) */
+ MainWindowIsVisible = 1, /**< The kvirc frame is visible but the window is not the active one */
+ };
+ /**
* \enum Type
* \brief Holds the types of a window; these are used by the KVIrc core and distributed modules
* \note If you add a new type, insert it just before Unknown
@@ -159,7 +167,7 @@ public:
* \param pConsole The parent console
* \return KviWindow
*/
- KviWindow(Type eType, KviMainWindow * lpFrm, const QString & szName, KviConsoleWindow * pConsole = 0);
+ KviWindow(Type eType, const QString & szName, KviConsoleWindow * pConsole = 0);
/**
* \brief Destroys the window object
@@ -167,7 +175,6 @@ public:
virtual ~KviWindow();
protected: // almost private: don't touch :D
QString m_szName; // the current window name (usually also the target)
- KviMainWindow * m_pFrm;
KviConsoleWindow * m_pConsole;
Type m_eType;
KviWindowListItem * m_pWindowListItem;
@@ -250,14 +257,6 @@ public:
void forceTextCodec(QTextCodec * pCodec);
/**
- * \brief Returns the main window that this window belongs to
- *
- * It is always non-null and never changes
- * \return KviMainWindow *
- */
- inline KviMainWindow * frame() const { return m_pFrm; };
-
- /**
* \brief Returns the KviIrcView of this window
*
* May be NULL if the window has no KviIrcView (and thus supports no direct output)
@@ -386,8 +385,28 @@ public:
// Just helpers.. FIXME: might be redesigned in some other way
void updateBackgrounds(QObject * pObj = 0);
+ /**
+ * \brief Notify the window manager that this window demands attention
+ *
+ * Depending on the os/window manager, this method uses different approaches to
+ * trigger a notification that tipically makes the application entry flash
+ * on the application bar.
+ * \return void
+ */
void demandAttention();
- bool hasAttention();
+
+ /**
+ * \brief Returns wether this window is the active one
+ *
+ * This method is useful because it takes in consideration that this window
+ * can be either docked or undocked, and takes a parameter that defines the strictness
+ * of the checks used.
+ * Level MainWindowIsVisible is fine to check if we needs to trigger the notifier
+ * Level VisibleAndActive is useful to trigger highlights
+ * @param eLevel the level of checks to be done
+ * \return bool
+ */
+ bool hasAttention(AttentionLevel eLevel=VisibleAndActive);
// This should die, probably
void listWindowTypes();
diff --git a/src/kvirc/ui/KviWindowListBase.cpp b/src/kvirc/ui/KviWindowListBase.cpp
index 4e59ff0a4..74acffa96 100644
--- a/src/kvirc/ui/KviWindowListBase.cpp
+++ b/src/kvirc/ui/KviWindowListBase.cpp
@@ -45,7 +45,7 @@
#include "KviCString.h"
#include "KviWindow.h"
#include "KviWindowListBase.h"
-#include "KviDockExtension.h"
+#include "KviTrayIcon.h"
// FIXME: #warning "The tree WindowList min width should be configurable"
#include <QFontMetrics>
@@ -496,8 +496,8 @@ void KviWindowListButton::unhighlight()
if(m_iHighlightLevel < 1)
return;
m_iHighlightLevel = 0;
- if(g_pMainWindow->dockExtension())
- g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
update();
}
@@ -508,8 +508,8 @@ void KviWindowListButton::highlight(int iLevel)
if(m_bActive && g_pMainWindow->isActiveWindow())
return;
m_iHighlightLevel = iLevel;
- if(g_pMainWindow->dockExtension())
- g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
update();
if(m_bActive)
return;
@@ -633,8 +633,8 @@ KviWindowListItem * KviClassicWindowList::addItem(KviWindow * wnd)
insertButton(b);
b->show();
doLayout();
- if(g_pMainWindow->dockExtension())
- g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
/* if(b->width() < m_pBase->width()) m_pBase->setMinimumWidth(b->width());
if(b->height() < m_pBase->height()) m_pBase->setMinimumWidth(b->height());*/
return b;
@@ -646,8 +646,8 @@ bool KviClassicWindowList::removeItem(KviWindowListItem * it)
{
m_pButtonList->removeRef((KviWindowListButton *)it);
doLayout();
- if(g_pMainWindow->dockExtension())
- g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
}
return true;
}
@@ -660,8 +660,8 @@ void KviClassicWindowList::setActiveItem(KviWindowListItem * it)
{
b->setActive(((KviWindowListButton *)it) == b);
}
- if(g_pMainWindow->dockExtension())
- g_pMainWindow->dockExtension()->refresh();
+ if(g_pMainWindow->trayIcon())
+ g_pMainWindow->trayIcon()->refresh();
}
}
diff --git a/src/modules/actioneditor/ActionEditor.cpp b/src/modules/actioneditor/ActionEditor.cpp
index 8afc2fb33..460cb4560 100644
--- a/src/modules/actioneditor/ActionEditor.cpp
+++ b/src/modules/actioneditor/ActionEditor.cpp
@@ -848,8 +848,8 @@ void ActionEditor::commit()
}
-ActionEditorWindow::ActionEditorWindow(KviMainWindow * lpFrm)
-: KviWindow(KviWindow::ScriptEditor,lpFrm,"actioneditor",0)
+ActionEditorWindow::ActionEditorWindow()
+: KviWindow(KviWindow::ScriptEditor,"actioneditor",0)
{
g_pActionEditorWindow = this;
setFixedCaption(__tr2qs_ctx("Action Editor","editor"));
diff --git a/src/modules/actioneditor/ActionEditor.h b/src/modules/actioneditor/ActionEditor.h
index ac05ec216..9a92dab81 100644
--- a/src/modules/actioneditor/ActionEditor.h
+++ b/src/modules/actioneditor/ActionEditor.h
@@ -186,7 +186,7 @@ class ActionEditorWindow : public KviWindow
{
Q_OBJECT
public:
- ActionEditorWindow(KviMainWindow * lpFrm);
+ ActionEditorWindow();
~ActionEditorWindow();
protected:
ActionEditor * m_pEditor;
diff --git a/src/modules/actioneditor/libkviactioneditor.cpp b/src/modules/actioneditor/libkviactioneditor.cpp
index b4c058318..569f547ad 100644
--- a/src/modules/actioneditor/libkviactioneditor.cpp
+++ b/src/modules/actioneditor/libkviactioneditor.cpp
@@ -45,12 +45,12 @@ ActionEditorWindow * g_pActionEditorWindow = 0;
Opens the script action editor dialog.
*/
-static bool actioneditor_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool actioneditor_kvs_cmd_open(KviKvsModuleCommandCall *)
{
if(!g_pActionEditorWindow)
{
- g_pActionEditorWindow = new ActionEditorWindow(c->window()->frame());
- c->window()->frame()->addWindow(g_pActionEditorWindow);
+ g_pActionEditorWindow = new ActionEditorWindow();
+ g_pMainWindow->addWindow(g_pActionEditorWindow);
}
g_pActionEditorWindow->setFocus();
diff --git a/src/modules/aliaseditor/AliasEditorWindow.cpp b/src/modules/aliaseditor/AliasEditorWindow.cpp
index 3d7374516..b3e06c285 100644
--- a/src/modules/aliaseditor/AliasEditorWindow.cpp
+++ b/src/modules/aliaseditor/AliasEditorWindow.cpp
@@ -1176,8 +1176,8 @@ void AliasEditorWidget::commit()
}
-AliasEditorWindow::AliasEditorWindow(KviMainWindow * lpFrm)
-: KviWindow(KviWindow::ScriptEditor,lpFrm,"aliaseditor",0)
+AliasEditorWindow::AliasEditorWindow()
+: KviWindow(KviWindow::ScriptEditor,"aliaseditor",0)
{
g_pAliasEditorWindow = this;
diff --git a/src/modules/aliaseditor/AliasEditorWindow.h b/src/modules/aliaseditor/AliasEditorWindow.h
index a571562f6..ab11953a5 100644
--- a/src/modules/aliaseditor/AliasEditorWindow.h
+++ b/src/modules/aliaseditor/AliasEditorWindow.h
@@ -172,7 +172,7 @@ class AliasEditorWindow : public KviWindow
{
Q_OBJECT
public:
- AliasEditorWindow(KviMainWindow * lpFrm);
+ AliasEditorWindow();
~AliasEditorWindow();
protected:
AliasEditorWidget * m_pEditor;
diff --git a/src/modules/aliaseditor/libkvialiaseditor.cpp b/src/modules/aliaseditor/libkvialiaseditor.cpp
index 2819371df..989bce911 100644
--- a/src/modules/aliaseditor/libkvialiaseditor.cpp
+++ b/src/modules/aliaseditor/libkvialiaseditor.cpp
@@ -47,12 +47,12 @@ KviModule * g_pAliasEditorModule = 0;
Opens the script alias editor dialog.
*/
-static bool aliaseditor_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool aliaseditor_kvs_cmd_open(KviKvsModuleCommandCall *)
{
if(!g_pAliasEditorWindow)
{
- g_pAliasEditorWindow = new AliasEditorWindow(c->window()->frame());
- c->window()->frame()->addWindow(g_pAliasEditorWindow);
+ g_pAliasEditorWindow = new AliasEditorWindow();
+ g_pMainWindow->addWindow(g_pAliasEditorWindow);
}
g_pAliasEditorWindow->setFocus();
diff --git a/src/modules/channelsjoin/ChannelsJoinDialog.cpp b/src/modules/channelsjoin/ChannelsJoinDialog.cpp
index 442bce49a..4712b691f 100644
--- a/src/modules/channelsjoin/ChannelsJoinDialog.cpp
+++ b/src/modules/channelsjoin/ChannelsJoinDialog.cpp
@@ -56,8 +56,8 @@ extern QRect g_rectChannelsJoinGeometry;
extern KVIRC_API KviRegisteredChannelDataBase * g_pRegisteredChannelDataBase;
-ChannelsJoinDialog::ChannelsJoinDialog(QWidget * par, const char * name)
-: QDialog(par)
+ChannelsJoinDialog::ChannelsJoinDialog(const char * name)
+: QDialog(g_pMainWindow)
{
setObjectName(name);
setWindowTitle(__tr2qs("Join Channels"));
diff --git a/src/modules/channelsjoin/ChannelsJoinDialog.h b/src/modules/channelsjoin/ChannelsJoinDialog.h
index da9f8182c..7e3a62965 100644
--- a/src/modules/channelsjoin/ChannelsJoinDialog.h
+++ b/src/modules/channelsjoin/ChannelsJoinDialog.h
@@ -83,11 +83,10 @@ class ChannelsJoinDialog : public QDialog
public:
/**
* \brief Constructs the channels join window
- * \param par The parent widget
* \param name The name of the window
* \return ChannelsJoinDialog
*/
- ChannelsJoinDialog(QWidget * par, const char * name);
+ ChannelsJoinDialog(const char * name);
/**
* \brief Destroys the channels join window
diff --git a/src/modules/channelsjoin/libkvichannelsjoin.cpp b/src/modules/channelsjoin/libkvichannelsjoin.cpp
index a96c3dc86..0d7debfc5 100644
--- a/src/modules/channelsjoin/libkvichannelsjoin.cpp
+++ b/src/modules/channelsjoin/libkvichannelsjoin.cpp
@@ -53,7 +53,7 @@ QRect g_rectChannelsJoinGeometry;
static bool channelsjoin_kvs_cmd_open(KviKvsModuleCommandCall * c)
{
- if(!g_pChannelsWindow)g_pChannelsWindow = new ChannelsJoinDialog(c->window()->frame(),"channelsjoin");
+ if(!g_pChannelsWindow)g_pChannelsWindow = new ChannelsJoinDialog("channelsjoin");
g_pChannelsWindow->setConsole(c->window()->console());
diff --git a/src/modules/classeditor/ClassEditorWindow.cpp b/src/modules/classeditor/ClassEditorWindow.cpp
index c7291e73d..2358ec2f0 100644
--- a/src/modules/classeditor/ClassEditorWindow.cpp
+++ b/src/modules/classeditor/ClassEditorWindow.cpp
@@ -1835,8 +1835,8 @@ void ClassEditorWidget::searchInheritedClasses(const QString szClass, KviPointer
}
}
-ClassEditorWindow::ClassEditorWindow(KviMainWindow * pFrm)
-: KviWindow(KviWindow::ScriptEditor,pFrm,"classeditor",0)
+ClassEditorWindow::ClassEditorWindow()
+: KviWindow(KviWindow::ScriptEditor,"classeditor",0)
{
g_pClassEditorWindow = this;
diff --git a/src/modules/classeditor/ClassEditorWindow.h b/src/modules/classeditor/ClassEditorWindow.h
index 4b3ce0f1e..abb6ebb2c 100644
--- a/src/modules/classeditor/ClassEditorWindow.h
+++ b/src/modules/classeditor/ClassEditorWindow.h
@@ -474,10 +474,9 @@ class ClassEditorWindow : public KviWindow
public:
/**
* \brief Constructs the class editor window
- * \param pFrm The parent frame
* \return ClassEditorWindow
*/
- ClassEditorWindow(KviMainWindow * pFrm);
+ ClassEditorWindow();
/**
* \brief Destroys the class editor window
diff --git a/src/modules/classeditor/libkviclasseditor.cpp b/src/modules/classeditor/libkviclasseditor.cpp
index 9090f67b8..8348caf14 100644
--- a/src/modules/classeditor/libkviclasseditor.cpp
+++ b/src/modules/classeditor/libkviclasseditor.cpp
@@ -46,12 +46,12 @@ KviModule * g_pClassEditorModule = 0;
@description:
Opens the script class editor dialog.
*/
-static bool classeditor_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool classeditor_kvs_cmd_open(KviKvsModuleCommandCall *)
{
if(!g_pClassEditorWindow)
{
- g_pClassEditorWindow = new ClassEditorWindow(c->window()->frame());
- c->window()->frame()->addWindow(g_pClassEditorWindow);
+ g_pClassEditorWindow = new ClassEditorWindow();
+ g_pMainWindow->addWindow(g_pClassEditorWindow);
}
g_pClassEditorWindow->setFocus();
diff --git a/src/modules/codetester/CodeTesterWindow.cpp b/src/modules/codetester/CodeTesterWindow.cpp
index ed0306428..fb2f5de6a 100644
--- a/src/modules/codetester/CodeTesterWindow.cpp
+++ b/src/modules/codetester/CodeTesterWindow.cpp
@@ -82,8 +82,8 @@ void CodeTesterWidget::execute()
delete pSLParams;
}
-CodeTesterWindow::CodeTesterWindow(KviMainWindow * lpFrm)
-: KviWindow(KviWindow::ScriptEditor,lpFrm,"codetester",0)
+CodeTesterWindow::CodeTesterWindow()
+: KviWindow(KviWindow::ScriptEditor,"codetester",0)
{
g_pCodeTesterWindowList->append(this);
diff --git a/src/modules/codetester/CodeTesterWindow.h b/src/modules/codetester/CodeTesterWindow.h
index eccdd433e..28791c353 100644
--- a/src/modules/codetester/CodeTesterWindow.h
+++ b/src/modules/codetester/CodeTesterWindow.h
@@ -53,7 +53,7 @@ class CodeTesterWindow : public KviWindow
{
Q_OBJECT
public:
- CodeTesterWindow(KviMainWindow * lpFrm);
+ CodeTesterWindow();
~CodeTesterWindow();
protected:
CodeTesterWidget * m_pTester;
diff --git a/src/modules/codetester/libkvicodetester.cpp b/src/modules/codetester/libkvicodetester.cpp
index c90fcf843..505671d03 100644
--- a/src/modules/codetester/libkvicodetester.cpp
+++ b/src/modules/codetester/libkvicodetester.cpp
@@ -47,10 +47,10 @@ KviPointerList<CodeTesterWindow> * g_pCodeTesterWindowList = 0;
Opens a new code tester window
*/
-static bool codetester_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool codetester_kvs_cmd_open(KviKvsModuleCommandCall *)
{
- CodeTesterWindow * w = new CodeTesterWindow(c->window()->frame());
- c->window()->frame()->addWindow(w);
+ CodeTesterWindow * w = new CodeTesterWindow();
+ g_pMainWindow->addWindow(w);
w->setFocus();
return true;
}
diff --git a/src/modules/dcc/DccBroker.cpp b/src/modules/dcc/DccBroker.cpp
index 8151d730a..2fa874758 100644
--- a/src/modules/dcc/DccBroker.cpp
+++ b/src/modules/dcc/DccBroker.cpp
@@ -323,13 +323,13 @@ void DccBroker::executeChat(DccDialog *box,DccDescriptor * dcc)
szSubProto.toLower();
QString tmp = QString("dcc: %1 %2@%3:%4").arg(szSubProto.ptr(), dcc->szNick, dcc->szIp, dcc->szPort);
- DccChatWindow * chat = new DccChatWindow(dcc->console()->frame(),dcc,tmp.toUtf8().data());
+ DccChatWindow * chat = new DccChatWindow(dcc,tmp.toUtf8().data());
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \
(KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat) || \
(dcc->bAutoAccept && KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChatWhenAutoAccepted)));
- dcc->console()->frame()->addWindow(chat,!bMinimized);
+ g_pMainWindow->addWindow(chat,!bMinimized);
if(bMinimized)chat->minimize();
m_pDccWindowList->append(chat);
}
@@ -374,13 +374,13 @@ void DccBroker::activeVoiceExecute(DccDialog *box,DccDescriptor * dcc)
}
KviCString tmp(KviCString::Format,"dcc: voice %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data());
- DccVoiceWindow * v = new DccVoiceWindow(dcc->console()->frame(),dcc,tmp.ptr());
+ DccVoiceWindow * v = new DccVoiceWindow(dcc,tmp.ptr());
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \
(KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccVoice) || \
(dcc->bAutoAccept && KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccVoiceWhenAutoAccepted)));
- dcc->console()->frame()->addWindow(v,!bMinimized);
+ g_pMainWindow->addWindow(v,!bMinimized);
if(bMinimized)v->minimize();
m_pDccWindowList->append(v);
@@ -394,10 +394,10 @@ void DccBroker::activeVoiceExecute(DccDialog *box,DccDescriptor * dcc)
void DccBroker::passiveVoiceExecute(DccDescriptor * dcc)
{
KviCString tmp(KviCString::Format,"dcc: voice %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data());
- DccVoiceWindow * v = new DccVoiceWindow(dcc->console()->frame(),dcc,tmp.ptr());
+ DccVoiceWindow * v = new DccVoiceWindow(dcc,tmp.ptr());
//#warning "Create minimized dcc voice ?... or maybe it's too much ? :)"
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat);
- dcc->console()->frame()->addWindow(v,!bMinimized);
+ g_pMainWindow->addWindow(v,!bMinimized);
if(bMinimized)v->minimize();
m_pDccWindowList->append(v);
}
@@ -444,13 +444,13 @@ void DccBroker::activeVideoExecute(DccDialog *box,DccDescriptor * dcc)
}
KviCString tmp(KviCString::Format,"dcc: video %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data());
- DccVideoWindow * v = new DccVideoWindow(dcc->console()->frame(),dcc,tmp.ptr());
+ DccVideoWindow * v = new DccVideoWindow(dcc,tmp.ptr());
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \
(KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccVideo) || \
(dcc->bAutoAccept && KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccVideoWhenAutoAccepted)));
- dcc->console()->frame()->addWindow(v,!bMinimized);
+ g_pMainWindow->addWindow(v,!bMinimized);
if(bMinimized)v->minimize();
m_pDccWindowList->append(v);
@@ -469,10 +469,10 @@ void DccBroker::activeVideoExecute(DccDialog *,DccDescriptor *)
void DccBroker::passiveVideoExecute(DccDescriptor * dcc)
{
KviCString tmp(KviCString::Format,"dcc: video %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data());
- DccVideoWindow * v = new DccVideoWindow(dcc->console()->frame(),dcc,tmp.ptr());
+ DccVideoWindow * v = new DccVideoWindow(dcc,tmp.ptr());
//#warning "Create minimized dcc video ?... or maybe it's too much ? :)"
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat);
- dcc->console()->frame()->addWindow(v,!bMinimized);
+ g_pMainWindow->addWindow(v,!bMinimized);
if(bMinimized)v->minimize();
m_pDccWindowList->append(v);
#else
@@ -525,14 +525,14 @@ void DccBroker::activeCanvasExecute(DccDialog *box,DccDescriptor * dcc)
}
KviCString tmp(KviCString::Format,"dcc: canvas %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data());
- DccCanvasWindow * cnv = new DccCanvasWindow(dcc->console()->frame(),dcc,tmp.ptr());
+ DccCanvasWindow * cnv = new DccCanvasWindow(dcc,tmp.ptr());
//#warning "This option should be dedicated to Dcc Canvas!....for now we are using the DccChat options"
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \
(KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat) || \
(dcc->bAutoAccept && KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChatWhenAutoAccepted)));
- dcc->console()->frame()->addWindow(cnv,!bMinimized);
+ g_pMainWindow->addWindow(cnv,!bMinimized);
if(bMinimized)cnv->minimize();
m_pDccWindowList->append(cnv);
@@ -549,10 +549,10 @@ void DccBroker::activeCanvasExecute(DccDialog *,DccDescriptor *)
void DccBroker::passiveCanvasExecute(DccDescriptor * dcc)
{
KviCString tmp(KviCString::Format,"dcc: canvas %s@%s:%s",dcc->szNick.toUtf8().data(),dcc->szIp.toUtf8().data(),dcc->szPort.toUtf8().data());
- DccCanvasWindow * cnv = new DccCanvasWindow(dcc->console()->frame(),dcc,tmp.ptr());
+ DccCanvasWindow * cnv = new DccCanvasWindow(dcc,tmp.ptr());
//#warning "This option should be dedicated to Dcc Canvas!....for now we are using the DccChat options"
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : KVI_OPTION_BOOL(KviOption_boolCreateMinimizedDccChat);
- dcc->console()->frame()->addWindow(cnv,!bMinimized);
+ g_pMainWindow->addWindow(cnv,!bMinimized);
if(bMinimized)cnv->minimize();
m_pDccWindowList->append(cnv);
}
@@ -865,7 +865,6 @@ void DccBroker::recvFileExecute(DccDialog *box,DccDescriptor * dcc)
dcc->setConsole(g_pApp->activeConsole());
}
- //KviDccSend * send = new KviDccSend(dcc->console()->frame(),dcc,tmp.ptr());
DccFileTransfer * send = new DccFileTransfer(dcc);
bool bMinimized = dcc->bOverrideMinimize ? dcc->bShowMinimized : \
diff --git a/src/modules/dcc/DccCanvasWindow.cpp b/src/modules/dcc/DccCanvasWindow.cpp
index 73f442b2c..969419528 100644
--- a/src/modules/dcc/DccCanvasWindow.cpp
+++ b/src/modules/dcc/DccCanvasWindow.cpp
@@ -56,14 +56,14 @@
extern DccBroker * g_pDccBroker;
- DccCanvasWindow::DccCanvasWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name)
- : DccWindow(KVI_WINDOW_TYPE_DCCCANVAS,pFrm,name,dcc)
+ DccCanvasWindow::DccCanvasWindow(DccDescriptor * dcc,const char * name)
+ : DccWindow(KVI_WINDOW_TYPE_DCCCANVAS,name,dcc)
{
m_pSplitter = new QSplitter(QSplitter::Vertical,this,"splitter");
m_pCanvas = new DccCanvasWidget(m_pSplitter);
- m_pIrcView = new KviIrcView(m_pSplitter,pFrm,this);
+ m_pIrcView = new KviIrcView(m_pSplitter,this);
m_pInput = new KviInput(this);
// setFocusHandler(m_pInput,this);
diff --git a/src/modules/dcc/DccCanvasWindow.h b/src/modules/dcc/DccCanvasWindow.h
index c931759b6..0208e30a2 100644
--- a/src/modules/dcc/DccCanvasWindow.h
+++ b/src/modules/dcc/DccCanvasWindow.h
@@ -43,7 +43,7 @@
{
Q_OBJECT
public:
- DccCanvasWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name);
+ DccCanvasWindow(DccDescriptor * dcc,const char * name);
~DccCanvasWindow();
protected:
// KviDccCanvasThread * m_pSlaveThread;
diff --git a/src/modules/dcc/DccChatWindow.cpp b/src/modules/dcc/DccChatWindow.cpp
index d3bfddfa1..ff942d7bc 100644
--- a/src/modules/dcc/DccChatWindow.cpp
+++ b/src/modules/dcc/DccChatWindow.cpp
@@ -81,8 +81,8 @@ extern DccBroker * g_pDccBroker;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-DccChatWindow::DccChatWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name)
-: DccWindow(KviWindow::DccChat,pFrm,name,dcc)
+DccChatWindow::DccChatWindow(DccDescriptor * dcc,const char * name)
+: DccWindow(KviWindow::DccChat,name,dcc)
{
m_pButtonBox = new KviTalHBox(this);
@@ -101,7 +101,7 @@ DccChatWindow::DccChatWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char
m_pSplitter->setObjectName("dcc_chat_splitter");
m_pSplitter->setChildrenCollapsible(false);
- m_pIrcView = new KviIrcView(m_pSplitter,pFrm,this);
+ m_pIrcView = new KviIrcView(m_pSplitter,this);
connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
m_pInput = new KviInput(this);
@@ -319,7 +319,7 @@ void DccChatWindow::ownMessage(const QString &text, bool bUserFeedback)
KviCString buf(KviCString::Format,"%s\r\n",encrypted.ptr());
m_pSlaveThread->sendRawData(buf.ptr(),buf.len());
if(bUserFeedback)
- m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSGCRYPTED,
+ g_pMainWindow->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSGCRYPTED,
m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(),
m_pDescriptor->szLocalHost.toUtf8().data(),text,KviConsoleWindow::NoNotifications);
}
@@ -331,7 +331,7 @@ void DccChatWindow::ownMessage(const QString &text, bool bUserFeedback)
if(bUserFeedback)
{
QString encr = decodeText(encrypted.ptr());
- m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG,
+ g_pMainWindow->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG,
m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(),
m_pDescriptor->szLocalHost.toUtf8().data(),encr,KviConsoleWindow::NoNotifications);
}
@@ -354,7 +354,7 @@ void DccChatWindow::ownMessage(const QString &text, bool bUserFeedback)
m_pSlaveThread->sendRawData(buf.ptr(),buf.len());
if(bUserFeedback)
- m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG,
+ g_pMainWindow->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG,
m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(),
m_pDescriptor->szLocalHost.toUtf8().data(),tmp,KviConsoleWindow::NoNotifications);
return;
@@ -366,7 +366,7 @@ void DccChatWindow::ownMessage(const QString &text, bool bUserFeedback)
m_pSlaveThread->sendRawData(buf.ptr(),buf.len());
if(bUserFeedback)
- m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG,
+ g_pMainWindow->firstConsole()->outputPrivmsg(this,KVI_OUT_OWNPRIVMSG,
m_pDescriptor->szLocalNick.toUtf8().data(),m_pDescriptor->szLocalUser.toUtf8().data(),
m_pDescriptor->szLocalHost.toUtf8().data(),text,KviConsoleWindow::NoNotifications);
}
@@ -431,7 +431,7 @@ bool DccChatWindow::event(QEvent *e)
if(kvi_strEqualCIN("ACTION",d.ptr(),6))d.cutLeft(6);
d.stripLeftWhiteSpace();
output(KVI_OUT_ACTION,"%Q %s",&(m_pDescriptor->szNick),d.ptr());
- if(!hasAttention())
+ if(!hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashDccChatWindowOnNewMessages))
{
@@ -462,7 +462,7 @@ bool DccChatWindow::event(QEvent *e)
case KviCryptEngine::DecryptOkWasPlainText:
if(!KVS_TRIGGER_EVENT_2_HALTED(KviEvent_OnDCCChatMessage,this,QString(decryptedStuff.ptr()),m_pDescriptor->idString()))
{
- m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG,
+ g_pMainWindow->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG,
m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szUser.toUtf8().data(),
m_pDescriptor->szHost.toUtf8().data(),decryptedStuff.ptr());
}
@@ -485,10 +485,10 @@ bool DccChatWindow::event(QEvent *e)
// FIXME!
if(!KVS_TRIGGER_EVENT_2_HALTED(KviEvent_OnDCCChatMessage,this,QString(d.ptr()),m_pDescriptor->idString()))
{
- m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG,
+ g_pMainWindow->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG,
m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szUser.toUtf8().data(),
m_pDescriptor->szHost.toUtf8().data(),d.ptr());
- if(!hasAttention())
+ if(!hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashDccChatWindowOnNewMessages))
{
diff --git a/src/modules/dcc/DccChatWindow.h b/src/modules/dcc/DccChatWindow.h
index 7a2eb1531..1bc80c202 100644
--- a/src/modules/dcc/DccChatWindow.h
+++ b/src/modules/dcc/DccChatWindow.h
@@ -69,7 +69,7 @@ class DccChatWindow : public DccWindow
{
Q_OBJECT
public:
- DccChatWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name);
+ DccChatWindow(DccDescriptor * dcc,const char * name);
~DccChatWindow();
QFrame * buttonContainer() { return (QFrame*)m_pButtonContainer; };
protected:
diff --git a/src/modules/dcc/DccVideoWindow.cpp b/src/modules/dcc/DccVideoWindow.cpp
index 166043a16..e2d5055a9 100644
--- a/src/modules/dcc/DccVideoWindow.cpp
+++ b/src/modules/dcc/DccVideoWindow.cpp
@@ -422,8 +422,8 @@ exit_dcc:
m_fd = KVI_INVALID_SOCKET;
}
-DccVideoWindow::DccVideoWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name)
-: DccWindow(KviWindow::DccVideo,pFrm,name,dcc)
+DccVideoWindow::DccVideoWindow(DccDescriptor * dcc,const char * name)
+: DccWindow(KviWindow::DccVideo,name,dcc)
{
m_pDescriptor = dcc;
m_pSlaveThread = 0;
@@ -450,7 +450,7 @@ DccVideoWindow::DccVideoWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const cha
m_pLayout = new QGridLayout(m_pContainerWidget);
m_pContainerWidget->setLayout(m_pLayout);
- m_pIrcView = new KviIrcView(this,pFrm,this);
+ m_pIrcView = new KviIrcView(this,this);
connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
m_pInput = new KviInput(this);
@@ -822,7 +822,7 @@ bool DccVideoWindow::event(QEvent *e)
d.cutLeft(6);
d.stripLeftWhiteSpace();
output(KVI_OUT_ACTION,"%Q %s",&(m_pDescriptor->szNick),d.ptr());
- if(!hasAttention())
+ if(!hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashDccChatWindowOnNewMessages))
{
@@ -879,7 +879,7 @@ bool DccVideoWindow::event(QEvent *e)
m_pFrm->firstConsole()->outputPrivmsg(this,KVI_OUT_DCCCHATMSG,
m_pDescriptor->szNick.toUtf8().data(),m_pDescriptor->szUser.toUtf8().data(),
m_pDescriptor->szHost.toUtf8().data(),d.ptr());
- if(!hasAttention())
+ if(!hasAttention(KviWindow::MainWindowIsVisible))
{
if(KVI_OPTION_BOOL(KviOption_boolFlashDccChatWindowOnNewMessages))
{
diff --git a/src/modules/dcc/DccVideoWindow.h b/src/modules/dcc/DccVideoWindow.h
index edd6fd02a..d1ffa0c8d 100644
--- a/src/modules/dcc/DccVideoWindow.h
+++ b/src/modules/dcc/DccVideoWindow.h
@@ -109,7 +109,7 @@ class DccVideoWindow : public DccWindow
Q_OBJECT
friend class DccVideoThread;
public:
- DccVideoWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name);
+ DccVideoWindow(DccDescriptor * dcc,const char * name);
~DccVideoWindow();
protected:
KviThemedLabel * m_pLabel;
diff --git a/src/modules/dcc/DccVoiceWindow.cpp b/src/modules/dcc/DccVoiceWindow.cpp
index 24ddcbd73..1dd451e4a 100644
--- a/src/modules/dcc/DccVoiceWindow.cpp
+++ b/src/modules/dcc/DccVoiceWindow.cpp
@@ -637,15 +637,15 @@ exit_dcc:
}
-DccVoiceWindow::DccVoiceWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name)
-: DccWindow(KviWindow::DccVoice,pFrm,name,dcc)
+DccVoiceWindow::DccVoiceWindow(DccDescriptor * dcc,const char * name)
+: DccWindow(KviWindow::DccVoice,name,dcc)
{
m_pDescriptor = dcc;
m_pSlaveThread = 0;
m_pSplitter = new KviTalSplitter(Qt::Horizontal,this);
m_pSplitter->setObjectName("dcc_window_splitter");
- m_pIrcView = new KviIrcView(m_pSplitter,pFrm,this);
+ m_pIrcView = new KviIrcView(m_pSplitter,this);
m_pHBox = new KviTalHBox(this);
diff --git a/src/modules/dcc/DccVoiceWindow.h b/src/modules/dcc/DccVoiceWindow.h
index 73af363c0..01eb68bbe 100644
--- a/src/modules/dcc/DccVoiceWindow.h
+++ b/src/modules/dcc/DccVoiceWindow.h
@@ -107,7 +107,7 @@ class DccVoiceWindow : public DccWindow
{
Q_OBJECT
public:
- DccVoiceWindow(KviMainWindow *pFrm,DccDescriptor * dcc,const char * name);
+ DccVoiceWindow(DccDescriptor * dcc,const char * name);
~DccVoiceWindow();
protected:
KviTalHBox * m_pHBox;
diff --git a/src/modules/dcc/DccWindow.cpp b/src/modules/dcc/DccWindow.cpp
index 4989fa5c2..d18dad460 100644
--- a/src/modules/dcc/DccWindow.cpp
+++ b/src/modules/dcc/DccWindow.cpp
@@ -26,8 +26,8 @@
#include "KviTalHBox.h"
-DccWindow::DccWindow(KviWindow::Type eType,KviMainWindow * lpFrm,const char * name,DccDescriptor * d)
-: KviWindow(eType,lpFrm,name, d->console())
+DccWindow::DccWindow(KviWindow::Type eType,const char * name,DccDescriptor * d)
+: KviWindow(eType,name, d->console())
{
m_pDescriptor = d;
m_pDescriptor->setWindow(this);
diff --git a/src/modules/dcc/DccWindow.h b/src/modules/dcc/DccWindow.h
index 40c479cbf..69b5948d0 100644
--- a/src/modules/dcc/DccWindow.h
+++ b/src/modules/dcc/DccWindow.h
@@ -35,7 +35,7 @@ class DccWindow : public KviWindow, public DccMarshalOutputContext
{
Q_OBJECT
public:
- DccWindow(KviWindow::Type eType,KviMainWindow * lpFrm,const char * name,DccDescriptor * d);
+ DccWindow(KviWindow::Type eType,const char * name,DccDescriptor * d);
~DccWindow();
protected:
DccDescriptor * m_pDescriptor;
diff --git a/src/modules/dcc/libkvidcc.cpp b/src/modules/dcc/libkvidcc.cpp
index c8df8bfda..801942199 100644
--- a/src/modules/dcc/libkvidcc.cpp
+++ b/src/modules/dcc/libkvidcc.cpp
@@ -90,7 +90,7 @@ static bool dcc_kvs_parse_default_parameters(DccDescriptor * d,KviKvsModuleComma
delete d;
c->error(__tr2qs_ctx("This window has no associated IRC context (an IRC context is required unless -c or -n are passed)","dcc"));
return false;
- } else d->setConsole(c->window()->frame()->firstConsole());
+ } else d->setConsole(g_pMainWindow->firstConsole());
}
KVI_ASSERT(d->console());
@@ -1280,7 +1280,7 @@ static bool dcc_module_cmd_canvas(KviModule *m,KviCommand *c)
{
// We don't need a console with -c and -n, otherwise we need it
if(!(c->hasSwitch('c') || c->hasSwitch('n')))return c->noIrcContext();
- else d->console() = c->window()->frame()->firstConsole();
+ else d->console() = g_pMainWindow->firstConsole();
}
KVI_ASSERT(d->console());
diff --git a/src/modules/eventeditor/EventEditorWindow.cpp b/src/modules/eventeditor/EventEditorWindow.cpp
index 46fbdb0ac..7991f5c80 100644
--- a/src/modules/eventeditor/EventEditorWindow.cpp
+++ b/src/modules/eventeditor/EventEditorWindow.cpp
@@ -511,8 +511,8 @@ void EventEditor::exportAllEvents()
}
-EventEditorWindow::EventEditorWindow(KviMainWindow * lpFrm)
-: KviWindow(KviWindow::ScriptEditor,lpFrm,"eventeditor",0)
+EventEditorWindow::EventEditorWindow()
+: KviWindow(KviWindow::ScriptEditor, "eventeditor",0)
{
g_pEventEditorWindow = this;
diff --git a/src/modules/eventeditor/EventEditorWindow.h b/src/modules/eventeditor/EventEditorWindow.h
index cd0b0f105..88451e4a8 100644
--- a/src/modules/eventeditor/EventEditorWindow.h
+++ b/src/modules/eventeditor/EventEditorWindow.h
@@ -117,7 +117,7 @@ class EventEditorWindow : public KviWindow
{
Q_OBJECT
public:
- EventEditorWindow(KviMainWindow * lpFrm);
+ EventEditorWindow();
~EventEditorWindow();
protected:
EventEditor * m_pEditor;
diff --git a/src/modules/eventeditor/libkvieventeditor.cpp b/src/modules/eventeditor/libkvieventeditor.cpp
index cbde52a4c..b605aab34 100644
--- a/src/modules/eventeditor/libkvieventeditor.cpp
+++ b/src/modules/eventeditor/libkvieventeditor.cpp
@@ -45,12 +45,12 @@ EventEditorWindow * g_pEventEditorWindow = 0;
Opens the script event editor dialog.
*/
-static bool eventeditor_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool eventeditor_kvs_cmd_open(KviKvsModuleCommandCall *)
{
if(!g_pEventEditorWindow)
{
- g_pEventEditorWindow = new EventEditorWindow(c->window()->frame());
- c->window()->frame()->addWindow(g_pEventEditorWindow);
+ g_pEventEditorWindow = new EventEditorWindow();
+ g_pMainWindow->addWindow(g_pEventEditorWindow);
}
g_pEventEditorWindow->setFocus();
diff --git a/src/modules/filetransferwindow/FileTransferWindow.cpp b/src/modules/filetransferwindow/FileTransferWindow.cpp
index 707277b5f..00a9c2aa5 100644
--- a/src/modules/filetransferwindow/FileTransferWindow.cpp
+++ b/src/modules/filetransferwindow/FileTransferWindow.cpp
@@ -236,8 +236,8 @@ QSize FileTransferItemDelegate::sizeHint(const QStyleOptionViewItem &, const QMo
return QSize(((FileTransferWidget*)parent())->viewport()->size().width(), 68);
}
-FileTransferWindow::FileTransferWindow(KviModuleExtensionDescriptor * d,KviMainWindow * lpFrm)
-: KviWindow(KviWindow::Tool,lpFrm,"file transfer window",0), KviModuleExtension(d)
+FileTransferWindow::FileTransferWindow(KviModuleExtensionDescriptor * d)
+: KviWindow(KviWindow::Tool,"file transfer window",0), KviModuleExtension(d)
{
g_pFileTransferWindow = this;
setAutoFillBackground(false);
@@ -272,7 +272,7 @@ FileTransferWindow::FileTransferWindow(KviModuleExtensionDescriptor * d,KviMainW
QFontMetrics fm(font());
m_iLineSpacing = fm.lineSpacing();
- m_pIrcView = new KviIrcView(m_pVertSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pVertSplitter,this);
m_pTableWidget->installEventFilter(this);
diff --git a/src/modules/filetransferwindow/FileTransferWindow.h b/src/modules/filetransferwindow/FileTransferWindow.h
index 2fcac8689..9fadaba19 100644
--- a/src/modules/filetransferwindow/FileTransferWindow.h
+++ b/src/modules/filetransferwindow/FileTransferWindow.h
@@ -91,7 +91,7 @@ class FileTransferWindow : public KviWindow, public KviModuleExtension
friend class FileTransferItemDelegate;
Q_OBJECT
public:
- FileTransferWindow(KviModuleExtensionDescriptor * d,KviMainWindow * lpFrm);
+ FileTransferWindow(KviModuleExtensionDescriptor * d);
~FileTransferWindow();
protected:
QSplitter * m_pVertSplitter;
diff --git a/src/modules/filetransferwindow/libkvifiletransferwindow.cpp b/src/modules/filetransferwindow/libkvifiletransferwindow.cpp
index fde213de0..110760555 100644
--- a/src/modules/filetransferwindow/libkvifiletransferwindow.cpp
+++ b/src/modules/filetransferwindow/libkvifiletransferwindow.cpp
@@ -55,7 +55,7 @@ static KviModuleExtension * filetransferwindow_extension_alloc(KviModuleExtensio
}
}
- g_pFileTransferWindow = new FileTransferWindow(s->pDescriptor,g_pMainWindow);
+ g_pFileTransferWindow = new FileTransferWindow(s->pDescriptor);
g_pMainWindow->addWindow(g_pFileTransferWindow,!bCreateMinimized);
if(bCreateMinimized)g_pFileTransferWindow->minimize();
return g_pFileTransferWindow;
diff --git a/src/modules/help/HelpWidget.cpp b/src/modules/help/HelpWidget.cpp
index a9b1e6997..449430289 100644
--- a/src/modules/help/HelpWidget.cpp
+++ b/src/modules/help/HelpWidget.cpp
@@ -50,7 +50,7 @@ extern KviPointerList<HelpWidget> * g_pHelpWidgetList;
#define HIGHLIGHT_FLAGS QWebPage::HighlightAllOccurrences
-HelpWidget::HelpWidget(QWidget * par,KviMainWindow *,bool bIsStandalone)
+HelpWidget::HelpWidget(QWidget * par, bool bIsStandalone)
: QWidget(par)
{
setObjectName("help_widget");
@@ -176,7 +176,7 @@ void HelpWidget::slotZoomOut()
#else
-HelpWidget::HelpWidget(QWidget * par,KviMainWindow *,bool bIsStandalone)
+HelpWidget::HelpWidget(QWidget * par, bool bIsStandalone)
: QWidget(par)
{
setObjectName("help_widget");
diff --git a/src/modules/help/HelpWidget.h b/src/modules/help/HelpWidget.h
index 79f27b766..748a9d6e9 100644
--- a/src/modules/help/HelpWidget.h
+++ b/src/modules/help/HelpWidget.h
@@ -45,7 +45,7 @@ class HelpWidget : public QWidget
{
Q_OBJECT
public:
- HelpWidget(QWidget *par,KviMainWindow * lpFrm,bool bIsStandalone = false);
+ HelpWidget(QWidget *par, bool bIsStandalone = false);
~HelpWidget();
private:
#ifdef COMPILE_WEBKIT_SUPPORT
diff --git a/src/modules/help/HelpWindow.cpp b/src/modules/help/HelpWindow.cpp
index 21b5192d7..c3602f4a9 100644
--- a/src/modules/help/HelpWindow.cpp
+++ b/src/modules/help/HelpWindow.cpp
@@ -48,15 +48,15 @@ extern KviPointerList<HelpWindow> * g_pHelpWindowList;
extern KviPointerList<HelpWidget> * g_pHelpWidgetList;
//bool g_bIndexingDone = FALSE;
-HelpWindow::HelpWindow(KviMainWindow * lpFrm,const char * name)
-: KviWindow(KviWindow::Help,lpFrm,name)
+HelpWindow::HelpWindow(const char * name)
+: KviWindow(KviWindow::Help,name)
{
g_pHelpWindowList->append(this);
m_pSplitter = new KviTalSplitter(Qt::Horizontal,this);
m_pSplitter->setObjectName("main_splitter");
m_pSplitter->setChildrenCollapsible(false);
- m_pHelpWidget = new HelpWidget(m_pSplitter,lpFrm);
+ m_pHelpWidget = new HelpWidget(m_pSplitter);
m_pToolBar=new KviTalVBox(m_pSplitter);
m_pTabWidget = new QTabWidget(m_pToolBar);
diff --git a/src/modules/help/HelpWindow.h b/src/modules/help/HelpWindow.h
index ff5c1468f..cb7d4c62e 100644
--- a/src/modules/help/HelpWindow.h
+++ b/src/modules/help/HelpWindow.h
@@ -48,7 +48,7 @@ class HelpWindow : public KviWindow
{
Q_OBJECT
public:
- HelpWindow(KviMainWindow * lpFrm,const char * name);
+ HelpWindow(const char * name);
~HelpWindow();
protected:
HelpWidget * m_pHelpWidget;
diff --git a/src/modules/help/libkvihelp.cpp b/src/modules/help/libkvihelp.cpp
index ff1f212a8..1162e97ee 100644
--- a/src/modules/help/libkvihelp.cpp
+++ b/src/modules/help/libkvihelp.cpp
@@ -177,7 +177,7 @@ static bool help_kvs_cmd_open(KviKvsModuleCommandCall * c)
if(!c->switches()->find('n',"new"))
{
- HelpWidget * w = (HelpWidget *)c->window()->frame()->findChild<HelpWidget *>("help_widget");
+ HelpWidget * w = (HelpWidget *)g_pMainWindow->findChild<HelpWidget *>("help_widget");
if(w)
{
@@ -191,16 +191,15 @@ static bool help_kvs_cmd_open(KviKvsModuleCommandCall * c)
}
if(c->switches()->find('m',"mdi"))
{
- HelpWindow *w = new HelpWindow(c->window()->frame(),"Help browser");
+ HelpWindow *w = new HelpWindow("Help browser");
#ifdef COMPILE_WEBKIT_SUPPORT
w->textBrowser()->load(QUrl::fromLocalFile(f.absoluteFilePath()));
#else
w->textBrowser()->setSource(QUrl::fromLocalFile(f.absoluteFilePath()));
#endif
- c->window()->frame()->addWindow(w);
+ g_pMainWindow->addWindow(w);
} else {
- HelpWidget *w = new HelpWidget(c->window()->frame()->splitter(),
- c->window()->frame(),true);
+ HelpWidget *w = new HelpWidget(g_pMainWindow->splitter(), true);
#ifdef COMPILE_WEBKIT_SUPPORT
w->textBrowser()->load(QUrl::fromLocalFile(f.absoluteFilePath()));
#else
diff --git a/src/modules/iograph/libkviiograph.cpp b/src/modules/iograph/libkviiograph.cpp
index e679edf2b..e0035137f 100644
--- a/src/modules/iograph/libkviiograph.cpp
+++ b/src/modules/iograph/libkviiograph.cpp
@@ -42,8 +42,8 @@
KviIOGraphWindow* g_pIOGraphWindow = 0;
-KviIOGraphWindow::KviIOGraphWindow(KviModuleExtensionDescriptor * d,KviMainWindow * lpFrm,const char * name)
-: KviWindow(KviWindow::IOGraph,lpFrm,name), KviModuleExtension(d)
+KviIOGraphWindow::KviIOGraphWindow(KviModuleExtensionDescriptor * d, const char * name)
+: KviWindow(KviWindow::IOGraph, name), KviModuleExtension(d)
{
m_pIOGraph = new KviIOGraphWidget(this);
setAutoFillBackground(false);
@@ -300,7 +300,7 @@ static KviModuleExtension * iograph_extension_alloc(KviModuleExtensionAllocStruc
}
}
- g_pIOGraphWindow = new KviIOGraphWindow(s->pDescriptor,g_pMainWindow,"IOGraph Window");
+ g_pIOGraphWindow = new KviIOGraphWindow(s->pDescriptor,"IOGraph Window");
g_pMainWindow->addWindow(g_pIOGraphWindow,!bCreateMinimized);
if(bCreateMinimized)g_pIOGraphWindow->minimize();
diff --git a/src/modules/iograph/libkviiograph.h b/src/modules/iograph/libkviiograph.h
index 8d6b35569..1c33141af 100644
--- a/src/modules/iograph/libkviiograph.h
+++ b/src/modules/iograph/libkviiograph.h
@@ -57,7 +57,7 @@ class KviIOGraphWindow : public KviWindow, public KviModuleExtension
{
Q_OBJECT
public:
- KviIOGraphWindow(KviModuleExtensionDescriptor * d,KviMainWindow * lpFrm,const char * name);
+ KviIOGraphWindow(KviModuleExtensionDescriptor * d, const char * name);
~KviIOGraphWindow();
private:
KviIOGraphWidget * m_pIOGraph;
diff --git a/src/modules/links/LinksWindow.cpp b/src/modules/links/LinksWindow.cpp
index 88f7fdab4..9e0573401 100644
--- a/src/modules/links/LinksWindow.cpp
+++ b/src/modules/links/LinksWindow.cpp
@@ -44,8 +44,8 @@
extern KviPointerList<LinksWindow> * g_pLinksWindowList;
-LinksWindow::LinksWindow(KviMainWindow * lpFrm,KviConsoleWindow * lpConsole)
-: KviWindow(KviWindow::Links,lpFrm,"links",lpConsole), KviExternalServerDataParser()
+LinksWindow::LinksWindow(KviConsoleWindow * lpConsole)
+: KviWindow(KviWindow::Links,"links",lpConsole), KviExternalServerDataParser()
{
g_pLinksWindowList->append(this);
@@ -83,7 +83,7 @@ LinksWindow::LinksWindow(KviMainWindow * lpFrm,KviConsoleWindow * lpConsole)
connect(m_pListView,SIGNAL(rightButtonPressed(QTreeWidgetItem *,const QPoint &)),
this,SLOT(showHostPopup(QTreeWidgetItem *,const QPoint &)));
- m_pIrcView = new KviIrcView(m_pVertSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pVertSplitter,this);
m_pLinkList = new KviPointerList<KviLink>;
m_pLinkList->setAutoDelete(true);
diff --git a/src/modules/links/LinksWindow.h b/src/modules/links/LinksWindow.h
index 807596048..89c35b05e 100644
--- a/src/modules/links/LinksWindow.h
+++ b/src/modules/links/LinksWindow.h
@@ -61,7 +61,7 @@ class LinksWindow : public KviWindow, public KviExternalServerDataParser
{
Q_OBJECT
public:
- LinksWindow(KviMainWindow * lpFrm,KviConsoleWindow * lpConsole);
+ LinksWindow(KviConsoleWindow * lpConsole);
~LinksWindow();
protected:
QSplitter * m_pVertSplitter;
diff --git a/src/modules/links/libkvilinks.cpp b/src/modules/links/libkvilinks.cpp
index caf5c205d..fdf5da23a 100644
--- a/src/modules/links/libkvilinks.cpp
+++ b/src/modules/links/libkvilinks.cpp
@@ -66,8 +66,8 @@ static bool links_kvs_cmd_open(KviKvsModuleCommandCall * c)
if(!(c->window()->context()->linksWindow()))
{
- LinksWindow *w = new LinksWindow(c->window()->frame(),c->window()->console());
- c->window()->frame()->addWindow(w);
+ LinksWindow *w = new LinksWindow(c->window()->console());
+ g_pMainWindow->addWindow(w);
} else {
c->warning(__tr2qs("Links window alread open for this IRC context"));
}
diff --git a/src/modules/list/ListWindow.cpp b/src/modules/list/ListWindow.cpp
index b005f4420..a35dab66a 100644
--- a/src/modules/list/ListWindow.cpp
+++ b/src/modules/list/ListWindow.cpp
@@ -173,8 +173,8 @@ void ChannelTreeWidgetItemDelegate::paint(QPainter * p, const QStyleOptionViewIt
}
}
-ListWindow::ListWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole)
-: KviWindow(KviWindow::List,lpFrm,"list",lpConsole), KviExternalServerDataParser()
+ListWindow::ListWindow(KviConsoleWindow * lpConsole)
+: KviWindow(KviWindow::List,"list",lpConsole), KviExternalServerDataParser()
{
g_pListWindowList->append(this);
@@ -261,7 +261,7 @@ ListWindow::ListWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole)
connect(m_pTreeWidget,SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)),this,SLOT(itemDoubleClicked(QTreeWidgetItem *, int)));
- m_pIrcView = new KviIrcView(m_pVertSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pVertSplitter,this);
m_pConsole->context()->setListWindowPointer(this);
connect(m_pConsole->context(),SIGNAL(stateChanged()),this,SLOT(connectionStateChange()));
diff --git a/src/modules/list/ListWindow.h b/src/modules/list/ListWindow.h
index 6decc0f8f..2c77e0453 100644
--- a/src/modules/list/ListWindow.h
+++ b/src/modules/list/ListWindow.h
@@ -93,7 +93,7 @@ class ListWindow : public KviWindow, public KviExternalServerDataParser
{
Q_OBJECT
public:
- ListWindow(KviMainWindow * lpFrm, KviConsoleWindow * lpConsole);
+ ListWindow(KviConsoleWindow * lpConsole);
~ListWindow();
protected:
QSplitter * m_pVertSplitter;
diff --git a/src/modules/list/libkvilist.cpp b/src/modules/list/libkvilist.cpp
index 9491b5bac..9d8d6a2f7 100644
--- a/src/modules/list/libkvilist.cpp
+++ b/src/modules/list/libkvilist.cpp
@@ -55,8 +55,8 @@ static bool list_kvs_cmd_open(KviKvsModuleCommandCall * c)
if(!(c->window()->context()->listWindow()))
{
- ListWindow * w = new ListWindow(c->window()->frame(),c->window()->console());
- c->window()->frame()->addWindow(w);
+ ListWindow * w = new ListWindow(c->window()->console());
+ g_pMainWindow->addWindow(w);
} else {
c->warning(__tr2qs("List window already open for this IRC context"));
}
diff --git a/src/modules/logview/LogViewWindow.cpp b/src/modules/logview/LogViewWindow.cpp
index 94c1cb678..c2b014896 100644
--- a/src/modules/logview/LogViewWindow.cpp
+++ b/src/modules/logview/LogViewWindow.cpp
@@ -84,8 +84,8 @@ void LogViewListView::mousePressEvent(QMouseEvent * pEvent)
}
-LogViewWindow::LogViewWindow(KviModuleExtensionDescriptor * pDesc, KviMainWindow * pMain)
-: KviWindow(KviWindow::LogView,pMain,"log"),KviModuleExtension(pDesc)
+LogViewWindow::LogViewWindow(KviModuleExtensionDescriptor * pDesc)
+: KviWindow(KviWindow::LogView,"log"),KviModuleExtension(pDesc)
{
g_pLogViewWindow = this;
//m_pLogViewWidget = new KviLogViewWidget(this);
@@ -177,7 +177,7 @@ LogViewWindow::LogViewWindow(KviModuleExtensionDescriptor * pDesc, KviMainWindow
pWidget->setSizePolicy(QSizePolicy::Ignored,QSizePolicy::Ignored);
pLayout->addWidget(pWidget,11,1);
- m_pIrcView = new KviIrcView(m_pSplitter,g_pMainWindow,this);
+ m_pIrcView = new KviIrcView(m_pSplitter,this);
m_pIrcView->setMaxBufferSize(INT_MAX);
m_pIrcView->setFocusPolicy(Qt::ClickFocus);
diff --git a/src/modules/logview/LogViewWindow.h b/src/modules/logview/LogViewWindow.h
index 5a2748130..6255a0398 100644
--- a/src/modules/logview/LogViewWindow.h
+++ b/src/modules/logview/LogViewWindow.h
@@ -62,7 +62,7 @@ class LogViewWindow : public KviWindow, public KviModuleExtension
{
Q_OBJECT
public:
- LogViewWindow(KviModuleExtensionDescriptor * pDesc, KviMainWindow * pMain);
+ LogViewWindow(KviModuleExtensionDescriptor * pDesc);
~LogViewWindow();
protected:
KviPointerList<LogFile> m_logList;
diff --git a/src/modules/logview/libkvilogview.cpp b/src/modules/logview/libkvilogview.cpp
index 829473cbe..fe0b7cf87 100644
--- a/src/modules/logview/libkvilogview.cpp
+++ b/src/modules/logview/libkvilogview.cpp
@@ -94,7 +94,7 @@ static KviModuleExtension * logview_extension_alloc(KviModuleExtensionAllocStruc
}
}
- g_pLogViewWindow = new LogViewWindow(s->pDescriptor,g_pMainWindow);
+ g_pLogViewWindow = new LogViewWindow(s->pDescriptor);
g_pMainWindow->addWindow(g_pLogViewWindow,!bCreateMinimized);
if(bCreateMinimized)
g_pLogViewWindow->minimize();
diff --git a/src/modules/notifier/NotifierWindow.cpp b/src/modules/notifier/NotifierWindow.cpp
index 289eae90d..651b2a77b 100644
--- a/src/modules/notifier/NotifierWindow.cpp
+++ b/src/modules/notifier/NotifierWindow.cpp
@@ -227,7 +227,7 @@ void NotifierWindow::addMessage(KviWindow * pWnd, const QString & szImageId, con
if(pWnd)
{
- if(pWnd->hasAttention())
+ if(pWnd->hasAttention(KviWindow::MainWindowIsVisible))
m_bDisableHideOnMainWindowGotAttention = true;
}
diff --git a/src/modules/notifier/NotifierWindowTab.cpp b/src/modules/notifier/NotifierWindowTab.cpp
index 948b44fff..e49d97c78 100644
--- a/src/modules/notifier/NotifierWindowTab.cpp
+++ b/src/modules/notifier/NotifierWindowTab.cpp
@@ -151,14 +151,14 @@ void NotifierWindowTab::mouseDoubleClickEvent(QMouseEvent *)
if(m_pWnd->mdiParent())
{
- m_pWnd->frame()->raise();
- m_pWnd->frame()->setFocus();
- m_pWnd->frame()->setWindowState((m_pWnd->frame()->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
- if(!m_pWnd->frame()->isVisible())
- m_pWnd->frame()->show();
+ g_pMainWindow->raise();
+ g_pMainWindow->setFocus();
+ g_pMainWindow->setWindowState((g_pMainWindow->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
+ if(!g_pMainWindow->isVisible())
+ g_pMainWindow->show();
}
- m_pWnd->frame()->setActiveWindow(m_pWnd);
+ g_pMainWindow->setActiveWindow(m_pWnd);
}
void NotifierWindowTab::closeMe()
diff --git a/src/modules/objects/KvsObject_window.cpp b/src/modules/objects/KvsObject_window.cpp
index 49dfbaa3a..140050fdc 100644
--- a/src/modules/objects/KvsObject_window.cpp
+++ b/src/modules/objects/KvsObject_window.cpp
@@ -34,8 +34,8 @@
-KviKvsScriptWindowWindow::KviKvsScriptWindowWindow(KviMainWindow * pParent,const QString &szName)
-: KviWindow(KviWindow::ScriptObject,pParent,szName)
+KviKvsScriptWindowWindow::KviKvsScriptWindowWindow(const QString &szName)
+: KviWindow(KviWindow::ScriptObject,szName)
{
m_pCentralWidget = 0;
m_pIcon = 0;
@@ -116,11 +116,11 @@ KVSO_BEGIN_DESTRUCTOR(KvsObject_window)
g_pMainWindow->closeWindow(((KviKvsScriptWindowWindow *)widget()));
KVSO_END_CONSTRUCTOR(KvsObject_window)
-bool KvsObject_window::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *)
+bool KvsObject_window::init(KviKvsRunTimeContext *,KviKvsVariantList *)
{
- KviKvsScriptWindowWindow * w = new KviKvsScriptWindowWindow(pContext->window()->frame(),getName());
+ KviKvsScriptWindowWindow * w = new KviKvsScriptWindowWindow(getName());
setObject(w);
- pContext->window()->frame()->addWindow(w,false);
+ g_pMainWindow->addWindow(w,false);
w->minimize(); // must be minimized before children are added, otherwise the focus handling goes nuts...
return true;
diff --git a/src/modules/objects/KvsObject_window.h b/src/modules/objects/KvsObject_window.h
index b074f1e32..c118c5c89 100644
--- a/src/modules/objects/KvsObject_window.h
+++ b/src/modules/objects/KvsObject_window.h
@@ -34,7 +34,7 @@ class KviKvsScriptWindowWindow : public KviWindow
{
Q_OBJECT
public:
- KviKvsScriptWindowWindow(KviMainWindow * pParent,const QString &szName);
+ KviKvsScriptWindowWindow(const QString &szName);
~KviKvsScriptWindowWindow();
protected:
KvsObject_widget * m_pCentralWidgetObject;
diff --git a/src/modules/options/libkvioptions.cpp b/src/modules/options/libkvioptions.cpp
index 074878b5e..61bd7f630 100644
--- a/src/modules/options/libkvioptions.cpp
+++ b/src/modules/options/libkvioptions.cpp
@@ -112,9 +112,9 @@ static bool options_kvs_cmd_dialog(KviKvsModuleCommandCall * c)
d->setGeometry(0,0,d->width(),d->height());
}
} else {
- if(d->parent() != c->window()->frame()->splitter())
+ if(d->parent() != g_pMainWindow->splitter())
{
- d->setParent(c->window()->frame()->splitter());
+ d->setParent(g_pMainWindow->splitter());
d->setGeometry(0,0,d->width(),d->height());
d->show();
}
@@ -124,7 +124,7 @@ static bool options_kvs_cmd_dialog(KviKvsModuleCommandCall * c)
{
d = new OptionsDialog(0,szGroup);
} else {
- d = new OptionsDialog(c->window()->frame()->splitter(),szGroup);
+ d = new OptionsDialog(g_pMainWindow->splitter(),szGroup);
}
g_pOptionsDialogDict->insert(szGroup,d);
}
diff --git a/src/modules/popupeditor/PopupEditorWindow.cpp b/src/modules/popupeditor/PopupEditorWindow.cpp
index a74b2bc92..19ba52ef0 100644
--- a/src/modules/popupeditor/PopupEditorWindow.cpp
+++ b/src/modules/popupeditor/PopupEditorWindow.cpp
@@ -1368,8 +1368,8 @@ void PopupEditorWidget::getUniquePopupName(MenuTreeWidgetItem *item,QString &buf
}
-PopupEditorWindow::PopupEditorWindow(KviMainWindow * lpFrm)
-: KviWindow(KviWindow::ScriptEditor,lpFrm,"popupeditor",0)
+PopupEditorWindow::PopupEditorWindow()
+: KviWindow(KviWindow::ScriptEditor,"popupeditor",0)
{
g_pPopupEditorWindow = this;
diff --git a/src/modules/popupeditor/PopupEditorWindow.h b/src/modules/popupeditor/PopupEditorWindow.h
index cb2873502..2e31a96ad 100644
--- a/src/modules/popupeditor/PopupEditorWindow.h
+++ b/src/modules/popupeditor/PopupEditorWindow.h
@@ -186,7 +186,7 @@ class PopupEditorWindow : public KviWindow
{
Q_OBJECT
public:
- PopupEditorWindow(KviMainWindow * lpFrm);
+ PopupEditorWindow();
~PopupEditorWindow();
protected:
PopupEditorWidget * m_pEditor;
diff --git a/src/modules/popupeditor/libkvipopupeditor.cpp b/src/modules/popupeditor/libkvipopupeditor.cpp
index e405e44e3..9fb5beb5c 100644
--- a/src/modules/popupeditor/libkvipopupeditor.cpp
+++ b/src/modules/popupeditor/libkvipopupeditor.cpp
@@ -46,12 +46,12 @@ PopupEditorWindow * g_pPopupEditorWindow = 0;
Opens the script popup editor dialog.
*/
-static bool popupeditor_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool popupeditor_kvs_cmd_open(KviKvsModuleCommandCall *)
{
if(!g_pPopupEditorWindow)
{
- g_pPopupEditorWindow = new PopupEditorWindow(c->window()->frame());
- c->window()->frame()->addWindow(g_pPopupEditorWindow);
+ g_pPopupEditorWindow = new PopupEditorWindow();
+ g_pMainWindow->addWindow(g_pPopupEditorWindow);
}
g_pPopupEditorWindow->setFocus();
diff --git a/src/modules/raweditor/RawEditorWindow.cpp b/src/modules/raweditor/RawEditorWindow.cpp
index 21c3476ce..6d3d67386 100644
--- a/src/modules/raweditor/RawEditorWindow.cpp
+++ b/src/modules/raweditor/RawEditorWindow.cpp
@@ -463,8 +463,8 @@ void RawEditorWidget::exportAllEvents()
}
-RawEditorWindow::RawEditorWindow(KviMainWindow * lpFrm)
-: KviWindow(KviWindow::ScriptEditor,lpFrm,"raweditor",0)
+RawEditorWindow::RawEditorWindow()
+: KviWindow(KviWindow::ScriptEditor,"raweditor",0)
{
g_pRawEditorWindow = this;
diff --git a/src/modules/raweditor/RawEditorWindow.h b/src/modules/raweditor/RawEditorWindow.h
index 6d2d9823c..81f45b3b0 100644
--- a/src/modules/raweditor/RawEditorWindow.h
+++ b/src/modules/raweditor/RawEditorWindow.h
@@ -122,7 +122,7 @@ class RawEditorWindow : public KviWindow
{
Q_OBJECT
public:
- RawEditorWindow(KviMainWindow * lpFrm);
+ RawEditorWindow();
~RawEditorWindow();
protected:
RawEditorWidget * m_pEditor;
diff --git a/src/modules/raweditor/libkviraweditor.cpp b/src/modules/raweditor/libkviraweditor.cpp
index 350c3fbbe..73ebac4f2 100644
--- a/src/modules/raweditor/libkviraweditor.cpp
+++ b/src/modules/raweditor/libkviraweditor.cpp
@@ -46,12 +46,12 @@ RawEditorWindow * g_pRawEditorWindow = 0;
Opens the script raw events editor dialog.
*/
-static bool raweditor_kvs_cmd_open(KviKvsModuleCommandCall * c)
+static bool raweditor_kvs_cmd_open(KviKvsModuleCommandCall *)
{
if(!g_pRawEditorWindow)
{
- g_pRawEditorWindow = new RawEditorWindow(c->window()->frame());
- c->window()->frame()->addWindow(g_pRawEditorWindow);
+ g_pRawEditorWindow = new RawEditorWindow();
+ g_pMainWindow->addWindow(g_pRawEditorWindow);
}
g_pRawEditorWindow->setFocus();
return true;
diff --git a/src/modules/reguser/libkvireguser.cpp b/src/modules/reguser/libkvireguser.cpp
index 1263b0471..8af75b4a3 100644
--- a/src/modules/reguser/libkvireguser.cpp
+++ b/src/modules/reguser/libkvireguser.cpp
@@ -119,9 +119,9 @@ static bool reguser_kvs_cmd_edit(KviKvsModuleCommandCall * c)
g_pRegisteredUsersDialog->setParent(0);
}
} else {
- if(g_pRegisteredUsersDialog->parent() != c->window()->frame()->splitter())
+ if(g_pRegisteredUsersDialog->parent() != g_pMainWindow->splitter())
{
- g_pRegisteredUsersDialog->setParent(c->window()->frame()->splitter());
+ g_pRegisteredUsersDialog->setParent(g_pMainWindow->splitter());
}
}
} else {
@@ -129,7 +129,7 @@ static bool reguser_kvs_cmd_edit(KviKvsModuleCommandCall * c)
{
g_pRegisteredUsersDialog = new RegisteredUsersDialog(0);
} else {
- g_pRegisteredUsersDialog = new RegisteredUsersDialog(c->window()->frame()->splitter());
+ g_pRegisteredUsersDialog = new RegisteredUsersDialog(g_pMainWindow->splitter());
}
}
g_pRegisteredUsersDialog->show();
diff --git a/src/modules/sharedfileswindow/SharedFilesWindow.cpp b/src/modules/sharedfileswindow/SharedFilesWindow.cpp
index b99aff87c..dee47083d 100644
--- a/src/modules/sharedfileswindow/SharedFilesWindow.cpp
+++ b/src/modules/sharedfileswindow/SharedFilesWindow.cpp
@@ -206,8 +206,8 @@ SharedFilesTreeWidgetItem::~SharedFilesTreeWidgetItem()
}
-SharedFilesWindow::SharedFilesWindow(KviModuleExtensionDescriptor * d,KviMainWindow * lpFrm)
-: KviWindow(KviWindow::Tool,lpFrm,"shared files window",0), KviModuleExtension(d)
+SharedFilesWindow::SharedFilesWindow(KviModuleExtensionDescriptor * d)
+: KviWindow(KviWindow::Tool,"shared files window",0), KviModuleExtension(d)
{
g_pSharedFilesWindow = this;
m_pSplitter = new KviTalSplitter(Qt::Horizontal,this);
diff --git a/src/modules/sharedfileswindow/SharedFilesWindow.h b/src/modules/sharedfileswindow/SharedFilesWindow.h
index 157d47044..0faad1be8 100644
--- a/src/modules/sharedfileswindow/SharedFilesWindow.h
+++ b/src/modules/sharedfileswindow/SharedFilesWindow.h
@@ -79,7 +79,7 @@ class SharedFilesWindow : public KviWindow, public KviModuleExtension
friend class KviSharedFilesItem;
Q_OBJECT
public:
- SharedFilesWindow(KviModuleExtensionDescriptor * d,KviMainWindow * lpFrm);
+ SharedFilesWindow(KviModuleExtensionDescriptor * d);
~SharedFilesWindow();
protected:
QSplitter * m_pVertSplitter;
diff --git a/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp b/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp
index 4045db69b..e9bb1e74b 100644
--- a/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp
+++ b/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp
@@ -57,7 +57,7 @@ static KviModuleExtension * sharedfileswindow_extension_alloc(KviModuleExtension
}
}
- g_pSharedFilesWindow = new SharedFilesWindow(s->pDescriptor,g_pMainWindow);
+ g_pSharedFilesWindow = new SharedFilesWindow(s->pDescriptor);
g_pMainWindow->addWindow(g_pSharedFilesWindow,!bCreateMinimized);
if(bCreateMinimized)g_pSharedFilesWindow->minimize();
return g_pSharedFilesWindow;
diff --git a/src/modules/socketspy/SocketSpyWindow.cpp b/src/modules/socketspy/SocketSpyWindow.cpp
index b0a8ad251..e2bd6dd1b 100644
--- a/src/modules/socketspy/SocketSpyWindow.cpp
+++ b/src/modules/socketspy/SocketSpyWindow.cpp
@@ -34,13 +34,13 @@
extern KviPointerList<SocketSpyWindow> * g_pSocketSpyWindowList;
-SocketSpyWindow::SocketSpyWindow(KviMainWindow * lpFrm,KviConsoleWindow * lpConsole)
-: KviWindow(KviWindow::SocketSpy,lpFrm,"socket_spy",lpConsole), KviIrcDataStreamMonitor(lpConsole->context())
+SocketSpyWindow::SocketSpyWindow(KviConsoleWindow * lpConsole)
+: KviWindow(KviWindow::SocketSpy,"socket_spy",lpConsole), KviIrcDataStreamMonitor(lpConsole->context())
{
g_pSocketSpyWindowList->append(this);
m_pSplitter = new KviTalSplitter(Qt::Horizontal,this);
setObjectName("spysocket_splitter");
- m_pIrcView = new KviIrcView(m_pSplitter,lpFrm,this);
+ m_pIrcView = new KviIrcView(m_pSplitter,this);
// Ensure proper focusing
//setFocusHandler(m_pIrcView,this);
}
diff --git a/src/modules/socketspy/SocketSpyWindow.h b/src/modules/socketspy/SocketSpyWindow.h
index 181f25e57..4281132d2 100644
--- a/src/modules/socketspy/SocketSpyWindow.h
+++ b/src/modules/socketspy/SocketSpyWindow.h
@@ -34,7 +34,7 @@ class SocketSpyWindow : public KviWindow, public KviIrcDataStreamMonitor
{
Q_OBJECT
public:
- SocketSpyWindow(KviMainWindow * lpFrm,KviConsoleWindow * lpConsole);
+ SocketSpyWindow(KviConsoleWindow * lpConsole);
~SocketSpyWindow();
protected:
virtual QPixmap * myIconPtr();
diff --git a/src/modules/socketspy/libkvisocketspy.cpp b/src/modules/socketspy/libkvisocketspy.cpp
index 7b845e232..1d9854bec 100644
--- a/src/modules/socketspy/libkvisocketspy.cpp
+++ b/src/modules/socketspy/libkvisocketspy.cpp
@@ -52,8 +52,8 @@ KviPointerList<SocketSpyWindow> * g_pSocketSpyWindowList = 0;
static bool socketspy_kvs_cmd_open(KviKvsModuleCommandCall * c)
{
if(!c->window()->console())return c->context()->errorNoIrcContext();
- SocketSpyWindow *w = new SocketSpyWindow(c->window()->frame(),c->window()->console());
- c->window()->frame()->addWindow(w);
+ SocketSpyWindow *w = new SocketSpyWindow(c->window()->console());
+ g_pMainWindow->addWindow(w);
return true;
}
diff --git a/src/modules/term/TermWidget.cpp b/src/modules/term/TermWidget.cpp
index 21bcf2549..31c740901 100644
--- a/src/modules/term/TermWidget.cpp
+++ b/src/modules/term/TermWidget.cpp
@@ -46,7 +46,7 @@
extern KviPointerList<TermWidget> * g_pTermWidgetList;
extern KviPointerList<TermWindow> * g_pTermWindowList;
- TermWidget::TermWidget(QWidget * par,KviMainWindow *,bool bIsStandalone)
+ TermWidget::TermWidget(QWidget * par,bool bIsStandalone)
: QFrame(par)
{
setObjectName("term_widget");
diff --git a/src/modules/term/TermWidget.h b/src/modules/term/TermWidget.h
index fc917a5c1..ed12e90b1 100644
--- a/src/modules/term/TermWidget.h
+++ b/src/modules/term/TermWidget.h
@@ -41,7 +41,7 @@
Q_OBJECT
Q_PROPERTY( int KviProperty_ChildFocusOwner READ dummy )
public:
- TermWidget(QWidget * par,KviMainWindow * lpFrm,bool bIsStandalone = false);
+ TermWidget(QWidget * par,bool bIsStandalone = false);
~TermWidget();
private:
KviTalHBox * m_pHBox;
diff --git a/src/modules/term/TermWindow.cpp b/src/modules/term/TermWindow.cpp
index 590f06cec..e72a8195b 100644
--- a/src/modules/term/TermWindow.cpp
+++ b/src/modules/term/TermWindow.cpp
@@ -36,12 +36,12 @@
extern KviPointerList<TermWidget> * g_pTermWidgetList;
extern KviIconManager * g_pIconManager;
- TermWindow::TermWindow(KviMainWindow * lpFrm,const char * name)
- : KviWindow(KviWindow::Terminal,lpFrm,name)
+ TermWindow::TermWindow(const char * name)
+ : KviWindow(KviWindow::Terminal,name)
{
g_pTermWindowList->append(this);
m_pTermWidget = 0;
- m_pTermWidget = new TermWidget(this,lpFrm);
+ m_pTermWidget = new TermWidget(this);
// Ensure proper focusing
// setFocusHandler(m_pTermWidget->konsoleWidget(),this);
}
diff --git a/src/modules/term/TermWindow.h b/src/modules/term/TermWindow.h
index a199173f0..a0f5367c6 100644
--- a/src/modules/term/TermWindow.h
+++ b/src/modules/term/TermWindow.h
@@ -36,7 +36,7 @@
{
Q_OBJECT
public:
- TermWindow(KviMainWindow * lpFrm,const char * name);
+ TermWindow(const char * name);
~TermWindow();
protected:
TermWidget * m_pTermWidget;
diff --git a/src/modules/term/libkviterm.cpp b/src/modules/term/libkviterm.cpp
index 8d7cebb4d..b87024a27 100644
--- a/src/modules/term/libkviterm.cpp
+++ b/src/modules/term/libkviterm.cpp
@@ -69,10 +69,10 @@ static bool term_kvs_cmd_open(KviKvsModuleCommandCall * c)
c->module()->lock(); // multiple locks are allowed
if(c->hasSwitch('m',"mdi"))
{
- TermWindow *w = new TermWindow(c->window()->frame(),"Terminal emulator");
- c->window()->frame()->addWindow(w);
+ TermWindow *w = new TermWindow("Terminal emulator");
+ g_pMainWindow->addWindow(w);
} else {
- TermWidget *w = new TermWidget(c->window()->frame()->splitter(), c->window()->frame(),true);
+ TermWidget *w = new TermWidget(g_pMainWindow->splitter(), true);
w->show();
}
#else
diff --git a/src/modules/trayicon/libkvitrayicon.cpp b/src/modules/trayicon/libkvitrayicon.cpp
index 109411532..f8c797285 100644
--- a/src/modules/trayicon/libkvitrayicon.cpp
+++ b/src/modules/trayicon/libkvitrayicon.cpp
@@ -60,15 +60,16 @@
#endif
extern KVIRC_API KviPointerHashTable<QString,KviWindow> * g_pGlobalWindowDict;
-static KviPointerList<TrayIcon> * g_pTrayIconList = 0;
+static KviTrayIconWidget * g_pTrayIcon = 0;
static QPixmap * g_pDock1 = 0;
static QPixmap * g_pDock2 = 0;
static QPixmap * g_pDock3 = 0;
-TrayIcon::TrayIcon(KviMainWindow * frm)
-: QSystemTrayIcon(frm), m_CurrentPixmap(ICON_SIZE,ICON_SIZE)
+KviTrayIconWidget::KviTrayIconWidget()
+: QSystemTrayIcon(g_pMainWindow), m_CurrentPixmap(ICON_SIZE,ICON_SIZE)
{
+ g_pTrayIcon = this;
m_pContextPopup = new KviTalPopupMenu(0);
setContextMenu(m_pContextPopup);
@@ -81,11 +82,10 @@ TrayIcon::TrayIcon(KviMainWindow * frm)
m_pFlashingTimer->setObjectName("flashing_timer");
connect( m_pFlashingTimer, SIGNAL(timeout()), this, SLOT(flashingTimerShot()) );
m_bFlashed=0;
- g_pTrayIconList->append(this);
- m_pFrm = frm;
- m_pFrm->setDockExtension(this);
- m_pTip = new KviDynamicToolTip(frm,"dock_tooltip");
+ g_pMainWindow->setTrayIcon(this);
+
+ m_pTip = new KviDynamicToolTip(g_pMainWindow,"dock_tooltip");
m_pAwayPopup = new KviTalPopupMenu(0);
m_pTitleLabel = new QLabel(__tr2qs("<b>KVIrc</b>"),m_pContextPopup);
@@ -121,10 +121,10 @@ TrayIcon::TrayIcon(KviMainWindow * frm)
}
-TrayIcon::~TrayIcon()
+KviTrayIconWidget::~KviTrayIconWidget()
{
- m_pFrm->setDockExtension(0);
- g_pTrayIconList->removeRef(this);
+ g_pTrayIcon=0;
+ g_pMainWindow->setTrayIcon(0);
delete m_pAwayPopup;
delete m_pTitleLabel;
delete m_pTip;
@@ -133,20 +133,20 @@ TrayIcon::~TrayIcon()
}
-void TrayIcon::executeInternalCommand(bool)
+void KviTrayIconWidget::executeInternalCommand(bool)
{
int iCmd;
bool bOk;
iCmd=(((QAction*)QObject::sender())->data()).toInt(&bOk);
- if(m_pFrm && bOk)
- m_pFrm->executeInternalCommand(iCmd);
+ if(bOk)
+ g_pMainWindow->executeInternalCommand(iCmd);
}
-void TrayIcon::die()
+void KviTrayIconWidget::die()
{
delete this;
}
-void TrayIcon::flashingTimerShot()
+void KviTrayIconWidget::flashingTimerShot()
{
m_bFlashed=!m_bFlashed;
refresh();
@@ -176,14 +176,14 @@ static const char * idlemsgs[NIDLEMSGS]=
__tr("idle idle idle idle!")
};
-bool TrayIcon::event(QEvent *e)
+bool KviTrayIconWidget::event(QEvent *e)
{
if(e->type()==QEvent::ToolTip)
{
- QPoint pos= m_pFrm->mapFromGlobal(QCursor::pos());
+ QPoint pos= g_pMainWindow->mapFromGlobal(QCursor::pos());
QString tmp;
- KviWindowListBase * t = m_pFrm->windowListWidget();
+ KviWindowListBase * t = g_pMainWindow->windowListWidget();
QString line;
bool first = true;
@@ -226,14 +226,14 @@ bool TrayIcon::event(QEvent *e)
return false;
}
-//int TrayIcon::message(int,void *)
+//int KviTrayIconWidget::message(int,void *)
//{
// qDebug("Message");
// update();
// return 0;
//}
-void TrayIcon::doAway(bool)
+void KviTrayIconWidget::doAway(bool)
{
int id;
bool ok;
@@ -289,9 +289,9 @@ void TrayIcon::doAway(bool)
}
}
-void TrayIcon::fillContextPopup()
+void KviTrayIconWidget::fillContextPopup()
{
- m_pToggleFrame->setText(m_pFrm->isVisible() ? __tr2qs("Hide Window") : __tr2qs("Show Window"));
+ m_pToggleFrame->setText(g_pMainWindow->isVisible() ? __tr2qs("Hide Window") : __tr2qs("Show Window"));
if(g_pApp->topmostConnectedConsole())
{
m_pAwayMenuId->setVisible(true);
@@ -347,50 +347,50 @@ void TrayIcon::fillContextPopup()
}
}
-void TrayIcon::toggleParentFrame()
+void KviTrayIconWidget::toggleParentFrame()
{
qDebug("TrayIcon::toggleParentFrame()");
- if(m_pFrm->isMinimized())
+ if(g_pMainWindow->isMinimized())
{
qDebug("- frame is minimized");
- m_pFrm->setWindowState(m_pFrm->windowState() & (~Qt::WindowMinimized | Qt::WindowActive));
+ g_pMainWindow->setWindowState(g_pMainWindow->windowState() & (~Qt::WindowMinimized | Qt::WindowActive));
if(KVI_OPTION_BOOL(KviOption_boolFrameIsMaximized))
{
qDebug("- window was maximized so calling showMaximized()");
- m_pFrm->showMaximized();
+ g_pMainWindow->showMaximized();
} else {
qDebug("- window wasn't maximized so calling plain show()");
- m_pFrm->show();
+ g_pMainWindow->show();
}
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
// raise it
- SetForegroundWindow((HWND)m_pFrm->winId());
+ SetForegroundWindow((HWND)g_pMainWindow->winId());
#endif
- } else if(!m_pFrm->isVisible())
+ } else if(!g_pMainWindow->isVisible())
{
qDebug("- frame is not visible");
//restore mainwindow
if(KVI_OPTION_BOOL(KviOption_boolFrameIsMaximized))
{
qDebug("- window was maximized so calling showMaximized()");
- m_pFrm->showMaximized();
+ g_pMainWindow->showMaximized();
} else {
qDebug("- window wasn't maximized so calling plain show()");
- m_pFrm->show();
+ g_pMainWindow->show();
}
#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
// raise it
- SetForegroundWindow((HWND)m_pFrm->winId());
+ SetForegroundWindow((HWND)g_pMainWindow->winId());
#endif
} else {
- qDebug("- frame is visible: maximized state=%d, hiding",m_pFrm->isMaximized());
- KVI_OPTION_BOOL(KviOption_boolFrameIsMaximized) = m_pFrm->isMaximized();
- m_pFrm->hide();
+ qDebug("- frame is visible: maximized state=%d, hiding",g_pMainWindow->isMaximized());
+ KVI_OPTION_BOOL(KviOption_boolFrameIsMaximized) = g_pMainWindow->isMaximized();
+ g_pMainWindow->hide();
}
}
-void TrayIcon::refresh()
+void KviTrayIconWidget::refresh()
{
grabActivityInfo();
@@ -437,7 +437,7 @@ void TrayIcon::refresh()
updateIcon();
}
-void TrayIcon::activatedSlot( QSystemTrayIcon::ActivationReason reason )
+void KviTrayIconWidget::activatedSlot( QSystemTrayIcon::ActivationReason reason )
{
switch(reason)
{
@@ -448,7 +448,7 @@ void TrayIcon::activatedSlot( QSystemTrayIcon::ActivationReason reason )
// This activates the context menu and is quite confusing if it *also* hides the kvirc window.
// So on mac we only _show_ the main window if it's hidden and the CloseInTray option is enabled.
if((KVI_OPTION_BOOL(KviOption_boolCloseInTray) || KVI_OPTION_BOOL(KviOption_boolMinimizeInTray))
- && ((!m_pFrm->isVisible()) || m_pFrm->isMinimized()))
+ && ((!g_pMainWindow->isVisible()) || g_pMainWindow->isMinimized()))
toggleParentFrame();
#else //!COMPILE_ON_MAC
// on other platforms we always toggle the window
@@ -461,9 +461,9 @@ void TrayIcon::activatedSlot( QSystemTrayIcon::ActivationReason reason )
}
}
-void TrayIcon::grabActivityInfo()
+void KviTrayIconWidget::grabActivityInfo()
{
- KviWindowListBase * t = m_pFrm->windowListWidget();
+ KviWindowListBase * t = g_pMainWindow->windowListWidget();
if(KVI_OPTION_BOOL(KviOption_boolUseLevelBasedTrayNotification))
{
@@ -553,21 +553,11 @@ void TrayIcon::grabActivityInfo()
}
}
-void TrayIcon::updateIcon()
+void KviTrayIconWidget::updateIcon()
{
setIcon(QIcon(m_CurrentPixmap));
}
-static TrayIcon * trayicon_find(KviMainWindow *f)
-{
- if(!g_pTrayIconList)return 0;
- for(TrayIcon * w = g_pTrayIconList->first();w;w = g_pTrayIconList->next())
- {
- if(w->frame() == f)return w;
- }
- return 0;
-}
-
/*
@doc: trayicon.show
@type:
@@ -575,38 +565,35 @@ static TrayIcon * trayicon_find(KviMainWindow *f)
@title:
trayicon.show
@short:
- Shows the dock widget for the current frame window
+ Shows the tray icon (dock widget)
@keyterms:
dock widget, system tray
@syntax:
trayicon.show
@description:
- Shows the dock widget for the current frame window.[br]
- The dock widget is a small widget that docks in the KDE panel.[br]
- It shows a small icon of the earth and eventually displays four squares
+ Shows the tray icon (sometimes called dock widget).[br]
+ The tray icon is a small widget that docks in the window manager panel.[br]
+ It shows a small kvirc icon and eventually displays four squares
that cover this icon: the bottom left square appears when there is some new
text in any console window, the square becomes red if the text is highlighted.[br]
The bottom right square appears when there is some new text in any channel window,
and it becomes red when the text is highlighted.[br] The upper right square refers to
query windows and the upper left one to any other kind of window (dcc, links...).[br]
- If you move the mouse over the dock widget a tooltip will show you the last lines
+ If you move the mouse over the tray icon a tooltip will show you the last lines
of the "new" text in all these windows.[br]
This is useful when you keep the main KVIrc window minimized and you're working on something else:
- if the dock widget shows nothing but the earth icon, nothing is happening in the main KVIrc window.
- If the dock widget shows one or more white (or red) squares, you can move the mouse over
- and check what's happened exactly and eventually bring up the main KVIrc window by clicking on the widget.[br]
- [big]tecnical details[/big]
- The dock widget is currently working in KDE compilation mode only:
- it relies on the KWin implementation of the Window Manager interaction protocol.
+ if the tray icon shows nothing but the kvirc icon, nothing is happening in the main KVIrc window.
+ If the tray icon shows one or more white (or red) squares, you can move the mouse over
+ and check what's happened exactly and eventually bring up the main KVIrc window by clicking on the icon.[br]
@seealso:
[cmd]trayicon.hide[/cmd]
*/
-static bool trayicon_kvs_cmd_show(KviKvsModuleCommandCall * c)
+static bool trayicon_kvs_cmd_show(KviKvsModuleCommandCall *)
{
- if(!(trayicon_find(c->window()->frame())))
+ if(g_pTrayIcon==0)
{
- TrayIcon * w = new TrayIcon(c->window()->frame());
+ KviTrayIconWidget * w = new KviTrayIconWidget();
w->show();
}
return true;
@@ -619,24 +606,25 @@ static bool trayicon_kvs_cmd_show(KviKvsModuleCommandCall * c)
@title:
trayicon.hide
@short:
- Hides the dock widget for the current frame window
+ Hides the tray icon for the current frame window
@syntax:
trayicon.hide
@description:
- Hides the dock widget for the current frame window
+ Hides the tray icon for the current frame window
@seealso:
[cmd]trayicon.show[/cmd]
*/
-static bool trayicon_kvs_cmd_hide(KviKvsModuleCommandCall * c)
+static bool trayicon_kvs_cmd_hide(KviKvsModuleCommandCall *)
{
- TrayIcon * w= trayicon_find(c->window()->frame());
- if(w)delete w;
+ if(g_pTrayIcon)
+ delete g_pTrayIcon;
+ g_pTrayIcon=0;
+
// show the parent frame.. otherwise there will be no way to get it back
- if(!c->window()->frame()->isVisible())
- {
- c->window()->frame()->show();
- }
+ if(!g_pMainWindow->isVisible())
+ g_pMainWindow->show();
+
return true;
}
@@ -656,13 +644,11 @@ static bool trayicon_kvs_cmd_hide(KviKvsModuleCommandCall * c)
[cmd]trayicon.show[/cmd], [cmd]trayicon.hide[/cmd]
*/
-static bool trayicon_kvs_cmd_hidewindow(KviKvsModuleCommandCall * c)
+static bool trayicon_kvs_cmd_hidewindow(KviKvsModuleCommandCall *)
{
- TrayIcon * w= trayicon_find(c->window()->frame());
- if(w)
- {
- c->window()->frame()->hide();
- }
+ if(g_pMainWindow)
+ g_pMainWindow->hide();
+
return true;
}
@@ -684,7 +670,7 @@ static bool trayicon_kvs_cmd_hidewindow(KviKvsModuleCommandCall * c)
static bool trayicon_kvs_fnc_isvisible(KviKvsModuleFunctionCall * c)
{
- c->returnValue()->setBoolean(trayicon_find(c->window()->frame()));
+ c->returnValue()->setBoolean(g_pTrayIcon!=0);
return true;
}
@@ -715,10 +701,6 @@ static bool trayicon_module_init(KviModule * m)
#endif
g_pDock3 = new QPixmap(buffer);
- g_pTrayIconList = new KviPointerList<TrayIcon>;
- g_pTrayIconList->setAutoDelete(false);
-
-
KVSM_REGISTER_SIMPLE_COMMAND(m,"hide",trayicon_kvs_cmd_hide);
KVSM_REGISTER_SIMPLE_COMMAND(m,"hidewindow",trayicon_kvs_cmd_hidewindow);
KVSM_REGISTER_SIMPLE_COMMAND(m,"show",trayicon_kvs_cmd_show);
@@ -729,9 +711,8 @@ static bool trayicon_module_init(KviModule * m)
static bool trayicon_module_cleanup(KviModule *)
{
- while(g_pTrayIconList->first())delete g_pTrayIconList->first();
- delete g_pTrayIconList;
- g_pTrayIconList = 0;
+ delete g_pTrayIcon;
+ g_pTrayIcon = 0;
delete g_pDock1;
g_pDock1 = 0;
@@ -747,7 +728,7 @@ static bool trayicon_module_cleanup(KviModule *)
static bool trayicon_module_can_unload(KviModule *)
{
- return g_pTrayIconList->isEmpty();
+ return g_pTrayIcon==0;
}
// =======================================
diff --git a/src/modules/trayicon/libkvitrayicon.h b/src/modules/trayicon/libkvitrayicon.h
index 05d736bb8..801bad625 100644
--- a/src/modules/trayicon/libkvitrayicon.h
+++ b/src/modules/trayicon/libkvitrayicon.h
@@ -28,7 +28,7 @@
#include "kvi_settings.h"
#include "KviMainWindow.h"
-#include "KviDockExtension.h"
+#include "KviTrayIcon.h"
#include <QSystemTrayIcon>
#include <QLabel>
@@ -39,14 +39,13 @@ class KviTalPopupMenu;
class KviDynamicToolTip;
//class KviMainWindow;
-class TrayIcon : public QSystemTrayIcon, public KviDockExtension
+class KviTrayIconWidget : public QSystemTrayIcon, public KviTrayIcon
{
Q_OBJECT
public:
- TrayIcon(KviMainWindow * win);
- ~TrayIcon();
+ KviTrayIconWidget();
+ ~KviTrayIconWidget();
protected:
- KviMainWindow * m_pFrm;
KviDynamicToolTip * m_pTip;
KviTalPopupMenu * m_pContextPopup;
KviTalPopupMenu * m_pAwayPopup;
@@ -64,8 +63,6 @@ protected:
unsigned int m_iQueries;
unsigned int m_iOther;
public:
- KviMainWindow * frame(){ return m_pFrm; };
-public:
virtual void refresh();
virtual void die();
void updateIcon();
diff --git a/src/modules/url/libkviurl.cpp b/src/modules/url/libkviurl.cpp
index ea0209eae..ae914f879 100644
--- a/src/modules/url/libkviurl.cpp
+++ b/src/modules/url/libkviurl.cpp
@@ -160,7 +160,7 @@ KviUrlAction::~KviUrlAction()
// ---------------------------- CLASS URLDIALOG ------------------------begin //
UrlDialog::UrlDialog(KviPointerList<KviUrl> *)
- :KviWindow(KviWindow::Tool,g_pMainWindow,"URL List")
+ :KviWindow(KviWindow::Tool,"URL List")
{
setAutoFillBackground(false);
diff --git a/src/modules/window/UserWindow.cpp b/src/modules/window/UserWindow.cpp
index eb3ec3b19..0a347a2cb 100644
--- a/src/modules/window/UserWindow.cpp
+++ b/src/modules/window/UserWindow.cpp
@@ -31,8 +31,8 @@
extern KviPointerList<UserWindow> * g_pUserWindowList;
-UserWindow::UserWindow(KviMainWindow * pFrm, const char * pcName, QString &szIcon, KviConsoleWindow * pConsole, int iCreationFlags)
-: KviWindow(KviWindow::UserWindow,pFrm,pcName,pConsole)
+UserWindow::UserWindow(const char * pcName, QString &szIcon, KviConsoleWindow * pConsole, int iCreationFlags)
+: KviWindow(KviWindow::UserWindow,pcName,pConsole)
{
g_pUserWindowList->append(this);
@@ -41,25 +41,12 @@ UserWindow::UserWindow(KviMainWindow * pFrm, const char * pcName, QString &szIco
m_szPlainTextCaption = pcName;
fillSingleColorCaptionBuffers(m_szPlainTextCaption);
- // Register ourselves
- //connection()->registerChannel(this);
- // Central splitter
-// m_pSplitter = new QSplitter(QSplitter::Horizontal,this,"main_splitter");
- // Spitted vertially on the left
-// m_pVertSplitter = new QSplitter(QSplitter::Vertical,m_pSplitter,
-// "vertical_splitter");
- // With the IRC view over
- m_pIrcView = new KviIrcView(this,pFrm,this);
- // connect(m_pIrcView,SIGNAL(rightClicked()),this,SLOT(textViewRightClicked()));
- // The userlist on the right
-// m_pUserListView = new KviUserListView(m_pSplitter,connection()->userDataBase(),this,
-// AVERAGE_CHANNEL_USERS,__tr2qs("User List"),"user_list_view");
- // And finally the input line on the bottom
+ m_pIrcView = new KviIrcView(this,this);
+
if(iCreationFlags & HasInput)
m_pInput = new KviInput(this,0);
else
m_pInput = 0;
- // applyOptions();
if(context())
context()->registerContextWindow(this);
diff --git a/src/modules/window/UserWindow.h b/src/modules/window/UserWindow.h
index 4ebc0e3a0..de66b099f 100644
--- a/src/modules/window/UserWindow.h
+++ b/src/modules/window/UserWindow.h
@@ -33,7 +33,7 @@ class UserWindow : public KviWindow
public:
enum CreationFlags { HasInput = 1 };
public:
- UserWindow(KviMainWindow * pFrm, const char * pcName, QString & szIcon, KviConsoleWindow * pConsole = 0, int iCreationFlags = 0);
+ UserWindow(const char * pcName, QString & szIcon, KviConsoleWindow * pConsole = 0, int iCreationFlags = 0);
~UserWindow();
protected:
QString m_szIcon;
diff --git a/src/modules/window/libkviwindow.cpp b/src/modules/window/libkviwindow.cpp
index 3e07730f5..67a47aa5b 100644
--- a/src/modules/window/libkviwindow.cpp
+++ b/src/modules/window/libkviwindow.cpp
@@ -1173,13 +1173,12 @@ static bool window_kvs_fnc_open(KviKvsModuleFunctionCall * c)
}
UserWindow * pWnd = new UserWindow(
- c->window()->frame(),
szCaption.toUtf8().data(),
szIcon,
pConsole,
iFlags);
- c->window()->frame()->addWindow(pWnd,!szFlags.contains('m'));
+ g_pMainWindow->addWindow(pWnd,!szFlags.contains('m'));
if(szFlags.contains('m'))
pWnd->minimize();