You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeadmin/kcron/ktapp.h

269 lines
5.1 KiB

/***************************************************************************
* KT application header. *
* -------------------------------------------------------------------- *
* Copyright (C) 1999, Gary Meyer <gary@meyer.net> *
* -------------------------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
***************************************************************************/
#ifndef KTAPP_H
#define KTAPP_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <kmainwindow.h>
class KAction;
class TQString;
class KTView;
class CTHost;
/**
* Application that sets up the main window, reads the config file,
* sets up the menu bar, toolbar, and status bar. Obtains the document
* (here the crontab entries) and give it to the view for display.
*
* Provides main window handling, session management and keyboard
* acceleration.
*/
class KTApp : public KMainWindow
{
Q_OBJECT
TQ_OBJECT
friend class KTView;
public:
// Menu constants
enum editEntries
{
menuEditNew=4,
menuEditModify,
menuEditDelete,
menuEditEnabled=8,
menuEditRunNow=10
};
enum settingsEntries
{
menuSettingsShowToolBar,
menuSettingsShowStatusBar
};
static const int statusMessage;
/**
* Initialize the application.
*/
KTApp();
/**
* Quit the application..
*/
~KTApp();
/**
* Additional init
*/
bool init();
/**
* Returns a reference to the document.
*/
const CTHost& getCTHost() const;
protected:
/** Called on window close event. Asks the document if it is dirty
* and if so, prompts the user for saving before exiting..
*/
virtual bool queryClose();
/** Called when the last window of the application is going to be
* closed. Saves options.
*/
virtual bool queryExit();
public slots:
/**
* Switch argument for status ar help entries on slot selection. Add your
* ID's help here for toolbars and menubar entries. This
* function is only for the edit menu
*/
void statusEditCallback(int id_);
/**
* Switch argument for status ar help entries on slot selection. Add your
* ID's help here for toolbars and menubar entries. This
* function is only for the settings menu
*/
void statusSettingsCallback(int id_);
/**
* Save document.
*/
void slotFileSave();
/**
* Print document.
*/
void slotFilePrint();
/**
* Close all open windows then quits the application. If queryClose()
* returns false because the user canceled the saveModified() dialog, the
* closing breaks.
*/
void slotFileQuit();
/**
* Pop up an edit menu.
*/
void slotEdit(const TQPoint& qp);
/**
* Put the marked objects on the clipboard and remove it from the
* document.
*/
void slotEditCut();
/**
* Put the marked objects on the clipboard.
*/
void slotEditCopy();
/**
* Paste the object on clipboard into the document
*/
void slotEditPaste();
/**
* New.
*/
void slotEditNew();
/**
* Modify.
*/
void slotEditModify();
/**
* Delete.
*/
void slotEditDelete();
/**
* Toggle enabled.
*/
void slotEditEnable();
/**
* Run program now.
*/
void slotEditRunNow();
/**
* Toggle the toolbar being visible.
*/
void slotViewToolBar();
/**
* Toggles the status bar being visible.
*/
void slotViewStatusBar();
/**
* Changes the status bar contents for the standard label permanently;
* used to indicate current actions.
*/
void slotStatusMsg(const TQString & text);
/**
* Changes the status message of the whole status bar for two seconds,
* then restores the last status. This is used to display status bar
* messages that give information about actions for toolbar icons and
* menu entries.
*/
void slotStatusHelpMsg(const TQString & text);
/** Enables/disables modification buttons
*/
void slotEnableModificationButtons(bool);
/** Enables/disables paste button
*/
void slotEnablePaste(bool);
/** Enables/disables "Run now"
*/
void slotEnableRunNow(bool);
/** Enables/disables "Activated"
*/
void slotEnableEnabled(bool);
private:
/**
* Disabled copy constructor.
*/
KTApp(const KTApp& source);
/**
* Disabled assignment operator.
*/
void operator = (const KTApp& source);
/**
* Get application caption.
*/
TQString caption();
/**
* Initialize actions.
*/
void setupActions();
/**
* Initialize status bar.
*/
void initStatusBar();
/**
* Read general options again and initialize all variables like the
* geometry.
*/
void readOptions();
/**
* Save general options like all bar positions and status as well as the
* geometry to the configuration file.
*/
void saveOptions();
/**
* Configuration object of the application.
*/
KConfig* config;
/**
* Main GUI view/working area.
*/
KTView* view;
/**
* Document object, here crotab enries.
*/
CTHost* cthost;
};
#endif // KTAPP_H