39#include <unordered_map>
42#ifdef COMPILE_KDE_SUPPORT
46#ifdef COMPILE_ON_WINDOWS
154#ifdef COMPILE_KDE_SUPPORT
155 KAboutData * m_pAboutData;
163#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
171#ifdef COMPILE_PSEUDO_TRANSPARENCY
172 bool m_bUpdatePseudoTransparencyPending =
false;
174#ifndef COMPILE_NO_IPC
182#ifdef COMPILE_KDE_SUPPORT
183 void setAboutData(KAboutData * pAboutData) { m_pAboutData = pAboutData; }
184 KAboutData * aboutData()
const {
return m_pAboutData; }
187#ifndef COMPILE_NO_IPC
188 void ipcMessage(
char * message);
191 static int getGloballyUniqueId();
197 bool supportsCompositing();
208 void saveIrcServerDataBase();
209 void saveProxyDataBase();
210 void saveRecentEntries();
211 void saveAppEvents();
212 void saveRawEvents();
213 void saveMediaTypes();
214 void saveRegisteredUsers();
215 void saveSharedFiles();
219 void saveIdentityProfiles();
220 void saveDefaultScripts();
221 void saveTextIcons();
222 void saveRegisteredChannels();
223 void saveInputHistory();
224 void saveAvatarCache();
227 void saveScriptAddons();
228 void saveIdentities();
234 void listAvailableOptions(
KviWindow * wnd);
235 bool getOptionString(
const QString & optName, QString & buffer);
236 bool setOptionValue(
const QString & optName,
const QString & value);
237 bool setCommonOptionValue(
const QString & optName,
const QString & value);
239 void optionResetUpdate(
int flags);
242 void getGlobalKvircDirectory(QString & szData, KvircSubdir dir,
const QString & appendFile = QString());
243 void getLocalKvircDirectory(QString & szData, KvircSubdir dir,
const QString & appendFile = QString(),
bool bCreateIfNeeded =
true);
245 void getTmpFileName(QString &
szBuffer,
const QString & szEndingFileName = QString());
246 void getChannelDumpLogFileName(QString & str);
248 static QTextCodec * defaultTextCodec();
249 static QTextCodec * defaultSrvCodec();
251 bool findImageInImageSearchPath(QString & szRetPath,
const QString & filename);
253 bool findImage(QString & szRetPath,
const QString & filename);
254 bool findImageThemeOnlyCompat(QString & szRetPath,
const QString & filename);
255 bool findSmallIcon(QString & szRetPath,
const QString & filename);
259 bool mapImageFile(QString & szRetPath,
const QString & filename);
262 void completeDirectory(
const QString & word, std::vector<QString> & matches);
272 bool getReadOnlyConfigPath(QString & buffer,
const char * config_name, KvircSubdir sbd = Config,
bool bNoFail =
false);
283 bool findAudioFile(QString & szRetPath,
const QString & szFileName);
286 KviWindow * findWindow(
const QString & windowId);
287 KviWindow * findWindowByCaption(
const QString & windowCaption,
int iContextId = -1);
294 unsigned int windowCount();
298 void restartNotifyLists();
299 void restartLagMeters();
300 void triggerUpdateGui();
301#ifdef COMPILE_PSEUDO_TRANSPARENCY
302 void triggerUpdatePseudoTransparency();
306 void setAvatarOnFileReceived(
KviConsoleWindow * pConsole,
const QString & szRemoteUrl,
const QString & szNick,
const QString & szUser,
const QString &
szHost);
308 void fileDownloadTerminated(
bool bSuccess,
const QString & szRemoteUrl,
const QString & szLocalFileName,
const QString & szNick = QString(),
const QString & szError = QString(),
bool bQuiet =
false);
310 void setAvatarFromOptions();
313 void notifierMessage(
KviWindow * pWnd,
int iIconId,
const QString & szMsg,
unsigned int uMessageLifetime);
315 void addRecentNickname(
const QString & newNick);
316 void addRecentChannel(
const QString & chan,
const QString & net);
318 QStringList * recentChannelsForNetwork(
const QString & net);
325 void addRecentServer(
const QString & server);
326 void fillRecentServersPopup(QMenu *
m);
330 void autoConnectToServers();
332 void checkSuggestRestoreDefaultScript();
334 void loadDefaultScript(QString szItem = QString());
356#if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
357 void setFileAssociation(
const QString & szExtension,
const QString & szClassName,
const QString & szDescription,
const int iIconIndex,
const QString & szActionName);
369#ifndef COMPILE_NO_IPC
375#ifdef COMPILE_PSEUDO_TRANSPARENCY
376 void createGlobalBackgrounds(QPixmap * pix);
377 void destroyPseudoTransparency();
KVIRC_API KviApplication * g_pApp
Definition KviApplication.cpp:161
KVIRC_API KviIrcServerDataBase * g_pServerDataBase
Definition KviApplication.cpp:164
C++ Template based double linked pointer list class.
Helper functions for the QString class.
Toolkit Abstraction Level class.
#define kvi_time_t
Definition KviTimeUtils.h:43
Contains the KviWindow class.
Definition KviApplication.h:106
bool m_bSetupDone
Definition KviApplication.h:169
bool checkLocalKvircDirectory(const QString &szSpecificPath)
Definition KviApplication_setup.cpp:83
void setupUriAssociations(const QString &szProto)
Definition KviApplication_setup.cpp:138
bool kviClosingDown() const
Definition KviApplication.h:194
void updateGui()
Definition KviApplication.cpp:1395
void setupFileAssociations()
Definition KviApplication_setup.cpp:183
int m_iHeartbeatTimerId
Definition KviApplication.h:160
void frameDestructorCallback()
Definition KviApplication.cpp:488
bool m_bClosingDown
Definition KviApplication.h:162
void restoreDefaultScript()
Definition KviApplication.cpp:1083
void setKviClosingDown()
Definition KviApplication.h:195
QString m_szConfigFile
Definition KviApplication.h:149
void addRecentUrl(const QString &text)
Definition KviApplication.cpp:1861
bool m_bUpdateGuiPending
Definition KviApplication.h:167
QString m_szLocalKvircDir
Definition KviApplication.h:159
void unregisterWindow(KviWindow *wnd)
Definition KviApplication.cpp:1816
void showParentFrame()
Definition KviApplication.cpp:905
void buildRecentChannels()
Definition KviApplication.cpp:1888
bool m_bCreateConfig
Definition KviApplication.h:150
friend class SetupWizard
Definition KviApplication.h:109
void saveRecentChannels()
Definition KviApplication.cpp:1921
QString m_szGlobalKvircDir
Definition KviApplication.h:158
KviApplication(int &argc, char **argv)
Definition KviApplication.cpp:206
KviPointerHashTable< QString, QStringList > * recentChannels() const
Definition KviApplication.h:320
void updatePseudoTransparency()
Definition KviApplication.cpp:1314
KviWindow * m_pActiveWindow
Definition KviApplication.h:166
KviPointerHashTable< QString, QStringList > * m_pRecentChannelDict
Definition KviApplication.h:170
std::unordered_map< KviPendingAvatarChange *, std::unique_ptr< KviPendingAvatarChange > > m_PendingAvatarChanges
Definition KviApplication.h:168
QFont m_fntDefaultFont
Definition KviApplication.h:177
void loadDirectories()
Definition KviApplication_setup.cpp:348
void createFrame()
Definition KviApplication.cpp:1639
KviIpcSentinel * m_pIpcSentinel
Definition KviApplication.h:175
bool firstTimeRun() const
Definition KviApplication.h:193
void setup()
Definition KviApplication.cpp:235
friend class KviMainWindow
Definition KviApplication.h:107
void findGlobalKvircDirectory()
Definition KviApplication_setup.cpp:193
void createIpcSentinel()
Definition KviApplication.cpp:1089
bool m_bFirstTimeRun
Definition KviApplication.h:161
void loadRecentEntries()
Definition KviApplication.cpp:1419
void timerEvent(QTimerEvent *e) override
Definition KviApplication.cpp:2036
QString m_szExecAfterStartup
Definition KviApplication.h:151
bool checkGlobalKvircDirectory(const QString)
Definition KviApplication_setup.cpp:64
friend class KviWindow
Definition KviApplication.h:108
void heartbeat(kvi_time_t tNow)
Definition KviApplication.cpp:2015
void registerWindow(KviWindow *wnd)
Definition KviApplication.cpp:1811
KvircSubdir
Definition KviApplication.h:114
@ Modules
Definition KviApplication.h:133
@ Charmaps
Definition KviApplication.h:129
@ HelpNoIntl
Definition KviApplication.h:120
@ Tmp
Definition KviApplication.h:136
@ Plugins
Definition KviApplication.h:125
@ Config
Definition KviApplication.h:117
@ Trash
Definition KviApplication.h:127
@ DefScript
Definition KviApplication.h:131
@ Avatars
Definition KviApplication.h:130
@ Locale
Definition KviApplication.h:137
@ SmallIcons
Definition KviApplication.h:140
@ Filters
Definition KviApplication.h:135
@ ConfigPlugins
Definition KviApplication.h:126
@ License
Definition KviApplication.h:132
@ EasyPlugins
Definition KviApplication.h:141
@ Help
Definition KviApplication.h:118
@ Themes
Definition KviApplication.h:138
@ Audio
Definition KviApplication.h:123
@ Scripts
Definition KviApplication.h:124
@ Pics
Definition KviApplication.h:116
@ Classes
Definition KviApplication.h:139
@ Incoming
Definition KviApplication.h:122
@ HelpEN
Definition KviApplication.h:119
@ None
Definition KviApplication.h:115
@ Log
Definition KviApplication.h:121
@ MsgColors
Definition KviApplication.h:128
@ ConfigScripts
Definition KviApplication.h:134
void saveKvircDirectory()
Definition KviApplication_setup.cpp:467
bool findLocalKvircDirectory()
Definition KviApplication_setup.cpp:262
void updateApplicationFont()
Definition KviApplication.cpp:1403
void destroyIpcSentinel()
Definition KviApplication.cpp:1094
Definition KviConfigurationFile.h:50
Definition KviConsoleWindow.h:74
Definition KviIpcSentinel.h:45
An abstraction of a connection to an IRC server.
Definition KviIrcConnection.h:97
Irc server database handling class.
Definition KviIrcServerDataBase.h:67
Definition KviMainWindow.h:58
A fast pointer hash table implementation.
Definition KviPointerHashTable.h:450
Definition KviRegisteredUser.h:40
KviTalApplication(int &iArgc, char **ppcArgv)
Constructs the application object.
Definition KviTalApplication.cpp:27
virtual void saveConfiguration()=0
Saves configuration to disk.
Base class for all windows in KVIrc.
Definition KviWindow.h:75
#define m
Definition detector.cpp:78
#define u
Definition detector.cpp:86
#define e
Definition detector.cpp:70
This file contains compile time settings.
#define KVIRC_API
Definition kvi_settings.h:127
QString szHost
Definition libkvisetup.cpp:48
Definition KviApplication.h:94
QStringList lMessages
Definition KviApplication.h:95
Definition KviApplication.h:86
KviWindow * pWindow
Definition KviApplication.h:87
unsigned int uMessageLifetime
Definition KviApplication.h:90
QString szIcon
Definition KviApplication.h:88
QString szMessage
Definition KviApplication.h:89
Definition KviApplication.h:72
QString szNick
Definition KviApplication.h:75
QString szRemoteUrl
Definition KviApplication.h:74
QString szUser
Definition KviApplication.h:76
KviConsoleWindow * pConsole
Definition KviApplication.h:73
QString szHost
Definition KviApplication.h:77
char szBuffer[4096]
Definition winamp.cpp:77