diff options
Diffstat (limited to 'languages/cpp/app_templates/kde4app/kapp4.cpp')
-rw-r--r-- | languages/cpp/app_templates/kde4app/kapp4.cpp | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/languages/cpp/app_templates/kde4app/kapp4.cpp b/languages/cpp/app_templates/kde4app/kapp4.cpp new file mode 100644 index 00000000..d224123c --- /dev/null +++ b/languages/cpp/app_templates/kde4app/kapp4.cpp @@ -0,0 +1,90 @@ +%{CPP_TEMPLATE} + +#include "%{APPNAMELC}.h" +#include "%{APPNAMELC}view.h" +#include "settings.h" + +#include <TQtGui/TQDropEvent> +#include <TQtGui/TQPainter> + +#include <tdeconfigdialog.h> +#include <kstatusbar.h> + +#include <tdeaction.h> +#include <tdeactioncollection.h> +#include <kstandardaction.h> + +#include <KDE/TDELocale> + +%{APPNAME}::%{APPNAME}() + : KXmlGuiWindow(), + m_view(new %{APPNAME}View(this)), + m_printer(0) +{ + // accept dnd + setAcceptDrops(true); + + // tell the KXmlGuiWindow that this is indeed the main widget + setCentralWidget(m_view); + + // then, setup our actions + setupActions(); + + // add a status bar + statusBar()->show(); + + // a call to KXmlGuiWindow::setupGUI() populates the GUI + // with actions, using KXMLGUI. + // It also applies the saved mainwindow settings, if any, and ask the + // mainwindow to automatically save settings if changed: window size, + // toolbar position, icon size, etc. + setupGUI(); +} + +%{APPNAME}::~%{APPNAME}() +{ +} + +void %{APPNAME}::setupActions() +{ + TDEStandardAction::openNew(this, TQT_SLOT(fileNew()), actionCollection()); + TDEStandardAction::quit(tqApp, TQT_SLOT(quit()), actionCollection()); + + TDEStandardAction::preferences(this, TQT_SLOT(optionsPreferences()), actionCollection()); + + // custom menu and menu item - the slot is in the class %{APPNAME}View + TDEAction *custom = new TDEAction(TDEIcon("colorize"), i18n("Swi&tch Colors"), this); + actionCollection()->addAction( TQLatin1String("switch_action"), custom ); + connect(custom, TQT_SIGNAL(triggered(bool)), m_view, TQT_SLOT(switchColors())); +} + +void %{APPNAME}::fileNew() +{ + // this slot is called whenever the File->New menu is selected, + // the New shortcut is pressed (usually CTRL+N) or the New toolbar + // button is clicked + + // create a new window + (new %{APPNAME})->show(); +} + +void %{APPNAME}::optionsPreferences() +{ + // The preference dialog is derived from prefs_base.ui + // + // compare the names of the widgets in the .ui file + // to the names of the variables in the .kcfg file + //avoid to have 2 dialogs shown + if ( TDEConfigDialog::showDialog( "settings" ) ) { + return; + } + TDEConfigDialog *dialog = new TDEConfigDialog(this, "settings", Settings::self()); + TQWidget *generalSettingsDlg = new TQWidget; + ui_prefs_base.setupUi(generalSettingsDlg); + dialog->addPage(generalSettingsDlg, i18n("General"), "package_setting"); + connect(dialog, TQT_SIGNAL(settingsChanged(TQString)), m_view, TQT_SLOT(settingsChanged())); + dialog->setAttribute( TQt::WA_DeleteOnClose ); + dialog->show(); +} + +#include "%{APPNAMELC}.moc" |