summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
d68e9d6)
The build system now sets HAVE_KDE regardless if we're building
with KDE4 or KF5, and in addition adds HAVE_KDE4 and HAVE_KF5.
As many of the frameworks are source compatible with the old kdelibs,
this will allow switching HAVE_KDE4 back to HAVE_KDE later where
possible, without having to check for two defines everywhere.
28 files changed:
set(EMBED_DATA OFF)
# Better have the compile flags global, even for the core, to avoid problems with linking the mono client
set(EMBED_DATA OFF)
# Better have the compile flags global, even for the core, to avoid problems with linking the mono client
- add_definitions(-DHAVE_KDE ${KDE4_DEFINITIONS})
- set(HAVE_KDE4 TRUE)
+ add_definitions(-DHAVE_KDE -DHAVE_KDE4 ${KDE4_DEFINITIONS})
+ set(WITH_KDE4 TRUE)
endif()
if (USE_QT5 AND WITH_KDE)
endif()
if (USE_QT5 AND WITH_KDE)
include(KDECompilerSettings)
include(KDECMakeSettings)
include(KDECompilerSettings)
include(KDECMakeSettings)
- add_definitions(-DHAVE_KF5)
- set(HAVE_KF5 TRUE)
+ add_definitions(-DHAVE_KDE -DHAVE_KF5)
+ set(WITH_KF5 TRUE)
endif()
# This needs to come after setting up KDE integration, so we can use KDE-specific paths
endif()
# This needs to come after setting up KDE integration, so we can use KDE-specific paths
# FindKDE4Internal.cmake sets its own set of variables, however with deprecated names
if (NOT DEFINED CMAKE_INSTALL_BINDIR)
set(CMAKE_INSTALL_BINDIR "${BIN_INSTALL_DIR}" CACHE PATH "Install path for binaries")
# FindKDE4Internal.cmake sets its own set of variables, however with deprecated names
if (NOT DEFINED CMAKE_INSTALL_BINDIR)
set(CMAKE_INSTALL_BINDIR "${BIN_INSTALL_DIR}" CACHE PATH "Install path for binaries")
CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettings::networkDetectionMode()
{
CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettings::networkDetectionMode()
{
NetworkDetectionMode def = UseSolid;
#else
NetworkDetectionMode def = UsePingTimeout;
NetworkDetectionMode def = UseSolid;
#else
NetworkDetectionMode def = UsePingTimeout;
_reconnectTimer.setSingleShot(true);
connect(&_reconnectTimer, SIGNAL(timeout()), SLOT(reconnectTimeout()));
_reconnectTimer.setSingleShot(true);
connect(&_reconnectTimer, SIGNAL(timeout()), SLOT(reconnectTimeout()));
connect(Solid::Networking::notifier(), SIGNAL(statusChanged(Solid::Networking::Status)),
SLOT(solidNetworkStatusChanged(Solid::Networking::Status)));
#endif
connect(Solid::Networking::notifier(), SIGNAL(statusChanged(Solid::Networking::Status)),
SLOT(solidNetworkStatusChanged(Solid::Networking::Status)));
#endif
if (!_peer) {
CoreConnectionSettings s;
if (_wantReconnect && s.autoReconnect()) {
if (!_peer) {
CoreConnectionSettings s;
if (_wantReconnect && s.autoReconnect()) {
// If using Solid, we don't want to reconnect if we're offline
if (s.networkDetectionMode() == CoreConnectionSettings::UseSolid) {
if (Solid::Networking::status() != Solid::Networking::Connected
// If using Solid, we don't want to reconnect if we're offline
if (s.networkDetectionMode() == CoreConnectionSettings::UseSolid) {
if (Solid::Networking::status() != Solid::Networking::Connected
void CoreConnection::solidNetworkStatusChanged(Solid::Networking::Status status)
{
void CoreConnection::solidNetworkStatusChanged(Solid::Networking::Status status)
{
# include <QTcpSocket>
#endif
# include <QTcpSocket>
#endif
# include <Solid/Networking>
#endif
# include <Solid/Networking>
#endif
void reconnectIntervalChanged(const QVariant &interval);
void reconnectTimeout();
void reconnectIntervalChanged(const QVariant &interval);
void reconnectTimeout();
void solidNetworkStatusChanged(Solid::Networking::Status status);
#endif
void solidNetworkStatusChanged(Solid::Networking::Status status);
#endif
#endif
// We don't want quasselcore to depend on KDE
#endif
// We don't want quasselcore to depend on KDE
-#if defined HAVE_KDE && defined BUILD_CORE
-# undef HAVE_KDE
+#if defined HAVE_KDE4 && defined BUILD_CORE
+# undef HAVE_KDE4
# include <KAboutData>
# include "kcmdlinewrapper.h"
#endif
# include <KAboutData>
# include "kcmdlinewrapper.h"
#endif
AbstractCliParser *cliParser;
AbstractCliParser *cliParser;
// We need to init KCmdLineArgs first
// TODO: build an AboutData compat class to replace our aboutDlg strings
KAboutData aboutData("quassel", "kdelibs4", ki18n("Quassel IRC"), Quassel::buildInfo().plainVersionString.toUtf8(),
// We need to init KCmdLineArgs first
// TODO: build an AboutData compat class to replace our aboutDlg strings
KAboutData aboutData("quassel", "kdelibs4", ki18n("Quassel IRC"), Quassel::buildInfo().plainVersionString.toUtf8(),
cliParser->addSwitch("enable-experimental-dcc", 0, "Enable highly experimental and unfinished support for CTCP DCC (DANGEROUS)");
#endif
cliParser->addSwitch("enable-experimental-dcc", 0, "Enable highly experimental and unfinished support for CTCP DCC (DANGEROUS)");
#endif
// the KDE version needs this extra call to parse argc/argv before app is instantiated
if (!cliParser->init()) {
cliParser->usage();
// the KDE version needs this extra call to parse argc/argv before app is instantiated
if (!cliParser->init()) {
cliParser->usage();
MonolithicApplication app(argc, argv);
# endif
MonolithicApplication app(argc, argv);
# endif
// the non-KDE version parses after app has been instantiated
if (!cliParser->init(app.arguments())) {
cliParser->usage();
// the non-KDE version parses after app has been instantiated
if (!cliParser->init(app.arguments())) {
cliParser->usage();
#include <QPersistentModelIndex>
#include <QUrl>
#include <QPersistentModelIndex>
#include <QUrl>
# include <KMenuBar>
#else
# include <QMenuBar>
# include <KMenuBar>
#else
# include <QMenuBar>
UiSettings s("InputWidget");
UiSettings s("InputWidget");
s.notify("EnableSpellCheck", this, SLOT(setEnableSpellCheck(QVariant)));
setEnableSpellCheck(s.value("EnableSpellCheck", false));
#endif
s.notify("EnableSpellCheck", this, SLOT(setEnableSpellCheck(QVariant)));
setEnableSpellCheck(s.value("EnableSpellCheck", false));
#endif
fmt.clearBackground();
inputLine()->setCurrentCharFormat(fmt);
fmt.clearBackground();
inputLine()->setCurrentCharFormat(fmt);
// Set highlighter back to active in case it was deactivated by too many errors.
if (ui.inputEdit->highlighter())
ui.inputEdit->highlighter()->setActive(true);
// Set highlighter back to active in case it was deactivated by too many errors.
if (ui.inputEdit->highlighter())
ui.inputEdit->highlighter()->setActive(true);
_blinkState(false),
_lastMessageId(0)
{
_blinkState(false),
_lastMessageId(0)
{
_trayIcon = new QSystemTrayIcon(associatedWidget());
#else
_trayIcon = new KSystemTrayIcon(associatedWidget());
_trayIcon = new QSystemTrayIcon(associatedWidget());
#else
_trayIcon = new KSystemTrayIcon(associatedWidget());
#ifndef QT_NO_SYSTEMTRAYICON
#ifndef QT_NO_SYSTEMTRAYICON
# include <KSystemTrayIcon>
#else
# include <QSystemTrayIcon>
# include <KSystemTrayIcon>
#else
# include <QSystemTrayIcon>
bool _blinkState;
uint _lastMessageId;
bool _blinkState;
uint _lastMessageId;
KSystemTrayIcon *_trayIcon;
#else
QSystemTrayIcon *_trayIcon;
KSystemTrayIcon *_trayIcon;
#else
QSystemTrayIcon *_trayIcon;
#include <QStatusBar>
#include <QToolBar>
#include <QStatusBar>
#include <QToolBar>
# include <KAction>
# include <KActionCollection>
# include <KHelpMenu>
# include <KAction>
# include <KActionCollection>
# include <KHelpMenu>
#include "topicwidget.h"
#include "verticaldock.h"
#include "topicwidget.h"
#include "verticaldock.h"
# ifdef HAVE_PHONON
# include "phononnotificationbackend.h"
# endif
# ifdef HAVE_PHONON
# include "phononnotificationbackend.h"
# endif
# endif
# include "systraynotificationbackend.h"
# include "taskbarnotificationbackend.h"
# endif
# include "systraynotificationbackend.h"
# include "taskbarnotificationbackend.h"
# include "knotificationbackend.h"
# include "knotificationbackend.h"
#ifdef HAVE_SSL
# include "sslinfodlg.h"
#ifdef HAVE_SSL
# include "sslinfodlg.h"
#include "settingspages/notificationssettingspage.h"
#include "settingspages/topicwidgetsettingspage.h"
#include "settingspages/notificationssettingspage.h"
#include "settingspages/topicwidgetsettingspage.h"
# include "settingspages/shortcutssettingspage.h"
#endif
MainWin::MainWin(QWidget *parent)
# include "settingspages/shortcutssettingspage.h"
#endif
MainWin::MainWin(QWidget *parent)
: KMainWindow(parent),
_kHelpMenu(new KHelpMenu(this, KGlobal::mainComponent().aboutData())),
#else
: KMainWindow(parent),
_kHelpMenu(new KHelpMenu(this, KGlobal::mainComponent().aboutData())),
#else
setupTitleSetter();
setupHotList();
setupTitleSetter();
setupHotList();
# ifdef HAVE_PHONON
QtUi::registerNotificationBackend(new PhononNotificationBackend(this));
# endif
# ifdef HAVE_PHONON
QtUi::registerNotificationBackend(new PhononNotificationBackend(this));
# endif
QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this));
QtUi::registerNotificationBackend(new TaskbarNotificationBackend(this));
QtUi::registerNotificationBackend(new KNotificationBackend(this));
QtUi::registerNotificationBackend(new KNotificationBackend(this));
#ifdef HAVE_INDICATEQT
QtUi::registerNotificationBackend(new IndicatorNotificationBackend(this));
#ifdef HAVE_INDICATEQT
QtUi::registerNotificationBackend(new IndicatorNotificationBackend(this));
setDisconnectedState(); // Disable menus and stuff
setDisconnectedState(); // Disable menus and stuff
setAutoSaveSettings();
#endif
setAutoSaveSettings();
#endif
if (lastBufId.isValid())
s.setValue("LastUsedBufferId", lastBufId.toInt());
if (lastBufId.isValid())
s.setValue("LastUsedBufferId", lastBufId.toInt());
saveAutoSaveSettings();
#endif
}
saveAutoSaveSettings();
#endif
}
_normalPos = s.value("MainWinPos", pos()).toPoint();
bool maximized = s.value("MainWinMaximized", false).toBool();
_normalPos = s.value("MainWinPos", pos()).toPoint();
bool maximized = s.value("MainWinMaximized", false).toBool();
restoreGeometry(s.value("MainWinGeometry").toByteArray());
if (maximized) {
restoreGeometry(s.value("MainWinGeometry").toByteArray());
if (maximized) {
coll->addAction("ToggleStatusBar", new Action(tr("Show Status &Bar"), coll,
0, 0))->setCheckable(true);
coll->addAction("ToggleStatusBar", new Action(tr("Show Status &Bar"), coll,
0, 0))->setCheckable(true);
QAction *fullScreenAct = KStandardAction::fullScreen(this, SLOT(onFullScreenToggled()), this, coll);
#else
QAction *fullScreenAct = new Action(QIcon::fromTheme("view-fullscreen"), tr("&Full Screen Mode"), coll,
QAction *fullScreenAct = KStandardAction::fullScreen(this, SLOT(onFullScreenToggled()), this, coll);
#else
QAction *fullScreenAct = new Action(QIcon::fromTheme("view-fullscreen"), tr("&Full Screen Mode"), coll,
_viewMenu->addAction(coll->action("LockLayout"));
_settingsMenu = menuBar()->addMenu(tr("&Settings"));
_viewMenu->addAction(coll->action("LockLayout"));
_settingsMenu = menuBar()->addMenu(tr("&Settings"));
_settingsMenu->addAction(KStandardAction::configureNotifications(this, SLOT(showNotificationsDlg()), this));
_settingsMenu->addAction(KStandardAction::keyBindings(this, SLOT(showShortcutsDlg()), this));
#else
_settingsMenu->addAction(KStandardAction::configureNotifications(this, SLOT(showNotificationsDlg()), this));
_settingsMenu->addAction(KStandardAction::keyBindings(this, SLOT(showShortcutsDlg()), this));
#else
_helpMenu = menuBar()->addMenu(tr("&Help"));
_helpMenu->addAction(coll->action("AboutQuassel"));
_helpMenu = menuBar()->addMenu(tr("&Help"));
_helpMenu->addAction(coll->action("AboutQuassel"));
_helpMenu->addAction(coll->action("AboutQt"));
#else
_helpMenu->addAction(KStandardAction::aboutKDE(_kHelpMenu, SLOT(aboutKDE()), this));
_helpMenu->addAction(coll->action("AboutQt"));
#else
_helpMenu->addAction(KStandardAction::aboutKDE(_kHelpMenu, SLOT(aboutKDE()), this));
setUnifiedTitleAndToolBarOnMac(true);
#endif
setUnifiedTitleAndToolBarOnMac(true);
#endif
_mainToolBar = new KToolBar("MainToolBar", this, Qt::TopToolBarArea, false, true, true);
#else
_mainToolBar = new QToolBar(this);
_mainToolBar = new KToolBar("MainToolBar", this, Qt::TopToolBarArea, false, true, true);
#else
_mainToolBar = new QToolBar(this);
void MainWin::showShortcutsDlg()
{
void MainWin::showShortcutsDlg()
{
KShortcutsDialog dlg(KShortcutsEditor::AllActions, KShortcutsEditor::LetterShortcutsDisallowed, this);
foreach(KActionCollection *coll, QtUi::actionCollections())
dlg.addCollection(coll, coll->property("Category").toString());
KShortcutsDialog dlg(KShortcutsEditor::AllActions, KShortcutsEditor::LetterShortcutsDisallowed, this);
foreach(KActionCollection *coll, QtUi::actionCollections())
dlg.addCollection(coll, coll->property("Category").toString());
KToggleFullScreenAction *kAct = static_cast<KToggleFullScreenAction *>(action);
kAct->setFullScreen(this, kAct->isChecked());
#else
KToggleFullScreenAction *kAct = static_cast<KToggleFullScreenAction *>(action);
kAct->setFullScreen(this, kAct->isChecked());
#else
#ifndef MAINWIN_H_
#define MAINWIN_H_
#ifndef MAINWIN_H_
#define MAINWIN_H_
# include <KMainWindow>
#else
# include <QMainWindow>
# include <KMainWindow>
#else
# include <QMainWindow>
//!\brief The main window of Quassel's QtUi.
class MainWin
//!\brief The main window of Quassel's QtUi.
class MainWin
: public KMainWindow
{
#else
: public KMainWindow
{
#else
void disconnectFromCore();
private:
void disconnectFromCore();
private:
KHelpMenu *_kHelpMenu;
#endif
KHelpMenu *_kHelpMenu;
#endif
_internalInitDone(false)
{
_internal = new CoreApplicationInternal(); // needed for parser options
_internalInitDone(false)
{
_internal = new CoreApplicationInternal(); // needed for parser options
-#if defined(HAVE_KDE) || defined(Q_OS_MAC)
+#if defined(HAVE_KDE4) || defined(Q_OS_MAC)
-#endif /* HAVE_KDE || Q_OS_MAC */
+#endif /* HAVE_KDE4 || Q_OS_MAC */
setRunMode(Quassel::Monolithic);
}
setRunMode(Quassel::Monolithic);
}
#include <QIcon>
#include <QStringList>
#include <QIcon>
#include <QStringList>
# include <KStandardDirs>
#endif
# include <KStandardDirs>
#endif
#include "qtuisettings.h"
QtUiApplication::QtUiApplication(int &argc, char **argv)
#include "qtuisettings.h"
QtUiApplication::QtUiApplication(int &argc, char **argv)
: KApplication(),
#else
: QApplication(argc, argv),
: KApplication(),
#else
: QApplication(argc, argv),
Quassel(),
_aboutToQuit(false)
{
Quassel(),
_aboutToQuit(false)
{
Q_UNUSED(argc); Q_UNUSED(argv);
// We need to setup KDE's data dirs
Q_UNUSED(argc); Q_UNUSED(argv);
// We need to setup KDE's data dirs
dataDirs.append(":/data/");
setDataDirPaths(dataDirs);
dataDirs.append(":/data/");
setDataDirPaths(dataDirs);
setDataDirPaths(findDataDirPaths());
setDataDirPaths(findDataDirPaths());
-#if defined(HAVE_KDE) || defined(Q_OS_MAC)
+#if defined(HAVE_KDE4) || defined(Q_OS_MAC)
-#endif /* HAVE_KDE || Q_OS_MAC */
+#endif /* HAVE_KDE4 || Q_OS_MAC */
setRunMode(Quassel::ClientOnly);
#if QT_VERSION < 0x050000
setRunMode(Quassel::ClientOnly);
#if QT_VERSION < 0x050000
#ifndef QTUIAPPLICATION_H_
#define QTUIAPPLICATION_H_
#ifndef QTUIAPPLICATION_H_
#define QTUIAPPLICATION_H_
# include <KApplication>
#else
# include <QApplication>
# include <KApplication>
#else
# include <QApplication>
class QtUiApplication : public KApplication, public Quassel
{
#else
class QtUiApplication : public KApplication, public Quassel
{
#else
: SettingsPage(tr("Remote Cores"), tr("Connection"), parent)
{
ui.setupUi(this);
: SettingsPage(tr("Remote Cores"), tr("Connection"), parent)
{
ui.setupUi(this);
ui.useSolid->hide();
#endif
ui.useSolid->hide();
#endif
void CoreConnectionSettingsPage::defaults()
{
void CoreConnectionSettingsPage::defaults()
{
setRadioButtons(CoreConnectionSettings::UseSolid);
#else
setRadioButtons(CoreConnectionSettings::UsePingTimeout);
setRadioButtons(CoreConnectionSettings::UseSolid);
#else
setRadioButtons(CoreConnectionSettings::UsePingTimeout);
void CoreConnectionSettingsPage::setRadioButtons(CoreConnectionSettings::NetworkDetectionMode mode)
{
switch (mode) {
void CoreConnectionSettingsPage::setRadioButtons(CoreConnectionSettings::NetworkDetectionMode mode)
{
switch (mode) {
case CoreConnectionSettings::UseSolid:
ui.useSolid->setChecked(true);
break;
case CoreConnectionSettings::UseSolid:
ui.useSolid->setChecked(true);
break;
CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettingsPage::modeFromRadioButtons() const
{
CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettingsPage::modeFromRadioButtons() const
{
if (ui.useSolid->isChecked())
return CoreConnectionSettings::UseSolid;
#endif
if (ui.useSolid->isChecked())
return CoreConnectionSettings::UseSolid;
#endif
ui.enableSpellCheck->hide();
#endif
ui.enableSpellCheck->hide();
#endif
{
if (mode() == StatusNotifier) {
//FIXME: ugly ugly workaround to weird QMenu's focus problems
{
if (mode() == StatusNotifier) {
//FIXME: ugly ugly workaround to weird QMenu's focus problems
if (watched == trayMenu() &&
(event->type() == QEvent::WindowDeactivate || (event->type() == QEvent::MouseButtonRelease && static_cast<QMouseEvent *>(event)->button() == Qt::LeftButton))) {
// put at the back of event queue to let the action activate anyways
if (watched == trayMenu() &&
(event->type() == QEvent::WindowDeactivate || (event->type() == QEvent::MouseButtonRelease && static_cast<QMouseEvent *>(event)->button() == Qt::LeftButton))) {
// put at the back of event queue to let the action activate anyways
#include <QMenu>
#include <QMovie>
#include <QMenu>
#include <QMovie>
# include <KWindowInfo>
# include <KWindowSystem>
#endif
# include <KWindowInfo>
# include <KWindowSystem>
#endif
//TODO: nicer placement, possible?
if (!m_statusNotifierItem->trayMenu()->isVisible()) {
//TODO: nicer placement, possible?
if (!m_statusNotifierItem->trayMenu()->isVisible()) {
m_statusNotifierItem->trayMenu()->setWindowFlags(Qt::Window|Qt::FramelessWindowHint);
#endif
m_statusNotifierItem->trayMenu()->popup(QPoint(x, y));
m_statusNotifierItem->trayMenu()->setWindowFlags(Qt::Window|Qt::FramelessWindowHint);
#endif
m_statusNotifierItem->trayMenu()->popup(QPoint(x, y));
KWindowSystem::setState(m_statusNotifierItem->trayMenu()->winId(), NET::SkipTaskbar|NET::SkipPager|NET::KeepAbove);
KWindowSystem::setType(m_statusNotifierItem->trayMenu()->winId(), NET::PopupMenu);
KWindowSystem::forceActiveWindow(m_statusNotifierItem->trayMenu()->winId());
KWindowSystem::setState(m_statusNotifierItem->trayMenu()->winId(), NET::SkipTaskbar|NET::SkipPager|NET::KeepAbove);
KWindowSystem::setType(m_statusNotifierItem->trayMenu()->winId(), NET::PopupMenu);
KWindowSystem::forceActiveWindow(m_statusNotifierItem->trayMenu()->winId());
#include "client.h"
#include "qtui.h"
#include "client.h"
#include "qtui.h"
# include <KMenu>
# include <KWindowInfo>
# include <KWindowSystem>
# include <KMenu>
# include <KWindowInfo>
# include <KWindowSystem>
ActionCollection *coll = QtUi::actionCollection("General");
_minimizeRestoreAction = new Action(tr("&Minimize"), this, this, SLOT(minimizeRestore()));
ActionCollection *coll = QtUi::actionCollection("General");
_minimizeRestoreAction = new Action(tr("&Minimize"), this, this, SLOT(minimizeRestore()));
KMenu *kmenu;
_trayMenu = kmenu = new KMenu();
kmenu->addTitle(_activeIcon, "Quassel IRC");
KMenu *kmenu;
_trayMenu = kmenu = new KMenu();
kmenu->addTitle(_activeIcon, "Quassel IRC");
_trayMenu->setTitle("Quassel IRC");
_trayMenu->setTitle("Quassel IRC");
_trayMenu->setAttribute(Qt::WA_Hover);
#endif
_trayMenu->setAttribute(Qt::WA_Hover);
#endif
{
if (mode_ != _mode) {
_mode = mode_;
{
if (mode_ != _mode) {
_mode = mode_;
if (_trayMenu) {
if (_mode == Legacy) {
_trayMenu->setWindowFlags(Qt::Popup);
if (_trayMenu) {
if (_mode == Legacy) {
_trayMenu->setWindowFlags(Qt::Popup);
#include <QApplication>
Action::Action(QObject *parent)
#include <QApplication>
Action::Action(QObject *parent)
: KAction(parent)
#else
: QWidgetAction(parent)
: KAction(parent)
#else
: QWidgetAction(parent)
Action::Action(const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
Action::Action(const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
: KAction(parent)
#else
: QWidgetAction(parent)
: KAction(parent)
#else
: QWidgetAction(parent)
Action::Action(const QIcon &icon, const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
Action::Action(const QIcon &icon, const QString &text, QObject *parent, const QObject *receiver, const char *slot, const QKeySequence &shortcut)
: KAction(parent)
#else
: QWidgetAction(parent)
: KAction(parent)
#else
: QWidgetAction(parent)
void Action::init() {}
#else
void Action::init()
void Action::init() {}
#else
void Action::init()
#ifndef ACTION_H_
#define ACTION_H_
#ifndef ACTION_H_
#define ACTION_H_
#include <QShortcut>
#include <QWidgetAction>
#include <QShortcut>
#include <QWidgetAction>
Q_DECLARE_OPERATORS_FOR_FLAGS(Action::ShortcutTypes)
Q_DECLARE_OPERATORS_FOR_FLAGS(Action::ShortcutTypes)
#include <KAction>
class Action : public KAction
#include <KAction>
class Action : public KAction
* Parts of this implementation are based on KDE's KActionCollection. *
***************************************************************************/
* Parts of this implementation are based on KDE's KActionCollection. *
***************************************************************************/
#include <QAction>
#include <QDebug>
#include <QAction>
#include <QDebug>
#ifndef ACTIONCOLLECTION_H_
#define ACTIONCOLLECTION_H_
#ifndef ACTIONCOLLECTION_H_
#define ACTIONCOLLECTION_H_
#include <QDebug>
#include <QList>
#include <QDebug>
#include <QList>
int ActionCollection::count() const { return actions().count(); }
bool ActionCollection::isEmpty() const { return actions().count(); }
int ActionCollection::count() const { return actions().count(); }
bool ActionCollection::isEmpty() const { return actions().count(); }
#include <KActionCollection>
#include <KActionCollection>
#include <QStyle>
#include <QStyleOptionFrame>
#include <QStyle>
#include <QStyleOptionFrame>
# include <KColorDialog>
#else
# include <QColorDialog>
# include <KColorDialog>
#else
# include <QColorDialog>
void ColorButton::chooseColor()
{
void ColorButton::chooseColor()
{
QColor c = color();
KColorDialog::getColor(c, this);
#else
QColor c = color();
KColorDialog::getColor(c, this);
#else
#ifdef Q_WS_X11
# include <QX11Info>
#endif
#ifdef Q_WS_X11
# include <QX11Info>
#endif
# include <KWindowInfo>
# include <KWindowSystem>
#endif
# include <KWindowInfo>
# include <KWindowSystem>
#endif
-#elif defined(HAVE_KDE) && defined(Q_WS_X11)
+#elif defined(HAVE_KDE4) && defined(Q_WS_X11)
KWindowInfo info1 = KWindowSystem::windowInfo(mainWidget()->winId(), NET::XAWMState | NET::WMState | NET::WMDesktop);
// mapped = visible (but possibly obscured)
bool mapped = (info1.mappingState() == NET::Visible) && !info1.isMinimized();
KWindowInfo info1 = KWindowSystem::windowInfo(mainWidget()->winId(), NET::XAWMState | NET::WMState | NET::WMDesktop);
// mapped = visible (but possibly obscured)
bool mapped = (info1.mappingState() == NET::Visible) && !info1.isMinimized();
void GraphicalUi::activateMainWidget()
{
void GraphicalUi::activateMainWidget()
{
# ifdef Q_WS_X11
KWindowInfo info = KWindowSystem::windowInfo(mainWidget()->winId(), NET::WMDesktop | NET::WMFrameExtents);
if (_onAllDesktops) {
# ifdef Q_WS_X11
KWindowInfo info = KWindowSystem::windowInfo(mainWidget()->winId(), NET::WMDesktop | NET::WMFrameExtents);
if (_onAllDesktops) {
KWindowSystem::forceActiveWindow(mainWidget()->winId());
# endif
KWindowSystem::forceActiveWindow(mainWidget()->winId());
# endif
#ifdef Q_WS_X11
// Bypass focus stealing prevention
#ifdef Q_WS_X11
// Bypass focus stealing prevention
mainWidget()->raise();
mainWidget()->activateWindow();
mainWidget()->raise();
mainWidget()->activateWindow();
}
void GraphicalUi::hideMainWidget()
{
}
void GraphicalUi::hideMainWidget()
{
-#if defined(HAVE_KDE) && defined(Q_WS_X11)
+#if defined(HAVE_KDE4) && defined(Q_WS_X11)
KWindowInfo info = KWindowSystem::windowInfo(mainWidget()->winId(), NET::WMDesktop | NET::WMFrameExtents);
_onAllDesktops = info.onAllDesktops();
#endif
KWindowInfo info = KWindowSystem::windowInfo(mainWidget()->winId(), NET::WMDesktop | NET::WMFrameExtents);
_onAllDesktops = info.onAllDesktops();
#endif
#endif
setAcceptRichText(false);
#endif
setAcceptRichText(false);
enableFindReplace(false);
#endif
enableFindReplace(false);
#endif
void MultiLineEdit::setSpellCheckEnabled(bool enable)
{
void MultiLineEdit::setSpellCheckEnabled(bool enable)
{
setCheckSpellingEnabled(enable);
#else
Q_UNUSED(enable)
setCheckSpellingEnabled(enable);
#else
Q_UNUSED(enable)
KTextEdit::keyPressEvent(event);
#else
QTextEdit::keyPressEvent(event);
KTextEdit::keyPressEvent(event);
#else
QTextEdit::keyPressEvent(event);
#include <QKeyEvent>
#include <QHash>
#include <QKeyEvent>
#include <QHash>
# include <KDE/KTextEdit>
# define MultiLineEditParent KTextEdit
#else
# include <KDE/KTextEdit>
# define MultiLineEditParent KTextEdit
#else