Source Code (Use browser search to find items of interest.)
Class Index
karm'KarmWindow (./kdeutils/karm/top.h:12)
class KarmWindow : public KTMainWindow
{
Q_OBJECT
private:
QPopupMenu *_fileMenu;
QPopupMenu *_clockMenu;
QPopupMenu *_taskMenu;
KAccel *_accel;
KAccelMenuWatch *_watcher;
Karm *_karm;
long _totalTime;
char *_sessionTimeBuffer;
public:
KarmWindow();
virtual ~KarmWindow();
protected slots:
void prefs();
void resetSessionTime();
void updateTime();
void clockStartMsg();
void clockStopMsg();
protected:
virtual void saveProperties( KConfig* );
// virtual void readSettings( KConfig * );
// virtual void writeSettings( KConfig * );
private:
void initAccelItems();
void connectAccels();
void makeMenus();
};
karm'KarmWindow::KarmWindow() (./kdeutils/karm/top.cpp:44)
KarmWindow::KarmWindow()
: KTMainWindow(),
_accel( new KAccel( this ) ),
_watcher( new KAccelMenuWatch( _accel, this ) ),
_karm( new Karm( this ) ),
_totalTime( 0 ),
_sessionTimeBuffer( new char[100] )
{
setView( _karm, FALSE );
_karm->show();
// accelerators
initAccelItems();
// status bar
statusBar()->insertItem( i18n( "clock inactive" ), 0 );
statusBar()->insertItem( i18n( "This session:" ), 1 );
statusBar()->insertItem( "0:00", 2 );
// popup menus
makeMenus();
connectAccels();
_watcher->updateMenus();
// toolbar
QPixmap icon;
icon.loadFromData(clock_xpm_data, clock_xpm_len );
toolBar(0)->insertButton( icon, 0, SIGNAL(clicked()),
_karm, SLOT(startClock()),
TRUE, i18n( "Start Clock" ) );
toolBar(0)->insertButton( BarIcon("stop"), 1,
SIGNAL(clicked()),
_karm, SLOT(stopClock()),
FALSE, i18n( "Stop Clock" ) );
toolBar(0)->insertSeparator();
toolBar(0)->insertButton( BarIcon("filenew") , 2,
SIGNAL(clicked()),_karm, SLOT(newTask()),
TRUE, i18n( "New Task" ) );
toolBar(0)->insertButton( BarIcon("filedel") , 3,
SIGNAL(clicked()),_karm, SLOT(deleteTask()),
TRUE, i18n( "Delete Task" ) );
icon.loadFromData( clockedit_xpm_data, clockedit_xpm_len );
toolBar(0)->insertButton( icon, 4, SIGNAL(clicked()),
_karm, SLOT(editTask()),
TRUE, i18n( "Edit Task" ) );
// FIXME: this shouldnt stay. We need to check whether the
// file exists and if not, create a blank one and ask whether
// we want to add a task.
_karm->load();
// connections
connect( _karm, SIGNAL(timerStarted()), this, SLOT(clockStartMsg()));
connect( _karm, SIGNAL(timerStopped()), this, SLOT(clockStopMsg()));
connect( _karm, SIGNAL(timerTick()), this, SLOT(updateTime()));
KConfig &config = *kapp->config();
config.setGroup( "Karm" );
int w = config.readNumEntry("Width", 100 );
int h = config.readNumEntry("Height", 100 );
w = QMAX( w, sizeHint().width() );
h = QMAX( h, sizeHint().height() );
resize(w, h);
}
karm'KarmWindow::~KarmWindow() (./kdeutils/karm/top.cpp:118)
KarmWindow::~KarmWindow()
{
KConfig &config = *kapp->config();
config.setGroup( "Karm" );
config.writeEntry("Width", width());
config.writeEntry("Height", height());
config.sync();
delete _fileMenu;
delete _clockMenu;
delete _taskMenu;
delete[] _sessionTimeBuffer;
}
karm'KarmWindow::updateTime() (./kdeutils/karm/top.cpp:132)
void KarmWindow::updateTime()
{
_totalTime++;
Karm::formatTime( _sessionTimeBuffer, _totalTime );
statusBar()->changeItem( _sessionTimeBuffer, 2);
}
karm'KarmWindow::clockStartMsg() (./kdeutils/karm/top.cpp:139)
void KarmWindow::clockStartMsg()
{
toolBar(0)->setItemEnabled( 0, FALSE);
toolBar(0)->setItemEnabled( 1, TRUE );
statusBar()->changeItem( i18n( "clock active" ), 0);
}
karm'KarmWindow::clockStopMsg() (./kdeutils/karm/top.cpp:146)
void KarmWindow::clockStopMsg()
{
toolBar(0)->setItemEnabled( 1, FALSE);
toolBar(0)->setItemEnabled( 0, TRUE );
statusBar()->changeItem( i18n( "clock inactive" ), 0);
}
karm'KarmWindow::saveProperties() (./kdeutils/karm/top.cpp:154)
void KarmWindow::saveProperties( KConfig* )
{
_karm->save();
}
karm'KarmWindow::initAccelItems() (./kdeutils/karm/top.cpp:159)
void KarmWindow::initAccelItems()
{
_accel->insertItem( i18n( "Preferences" ), "Prefs",
CTRL + Key_P );
_accel->insertItem( i18n( "Reset Session Time" ), "ResetSess",
CTRL + Key_R );
_accel->insertItem( i18n( "Start Clock" ), "StartClock",
CTRL + Key_S );
_accel->insertItem( i18n( "Stop Clock" ), "StopClock",
CTRL + Key_T );
_accel->insertItem( i18n( "New Task" ), "NewTask",
CTRL + Key_N );
_accel->insertItem( i18n( "Delete Task" ), "DeleteTask",
CTRL + Key_D );
_accel->insertItem( i18n( "Edit Task" ), "EditTask",
CTRL + Key_E );
_accel->insertStdItem( KStdAccel::Quit );
_accel->readSettings();
}
karm'KarmWindow::connectAccels() (./kdeutils/karm/top.cpp:179)
void KarmWindow::connectAccels()
{
_accel->connectItem( "Prefs", this, SLOT(prefs()) );
_accel->connectItem( "ResetSess", this, SLOT( resetSessionTime() ) );
_accel->connectItem( KStdAccel::Quit, kapp, SLOT(closeAllWindows()));
_accel->connectItem( "StartClock", _karm, SLOT(startClock()) );
_accel->connectItem( "StopClock", _karm, SLOT(stopClock()) );
_accel->connectItem( "NewTask", _karm, SLOT(newTask()) );
_accel->connectItem( "DeleteTask", _karm, SLOT(deleteTask()) );
_accel->connectItem( "EditTask", _karm, SLOT(editTask()) );
}
karm'KarmWindow::prefs() (./kdeutils/karm/top.cpp:191)
void KarmWindow::prefs()
{
if( KKeyDialog::configureKeys ( _accel, true, topLevelWidget() ) ) {
_watcher->updateMenus();
}
}
karm'KarmWindow::resetSessionTime() (./kdeutils/karm/top.cpp:199)
void KarmWindow::resetSessionTime()
{
_totalTime = 0;
statusBar()->changeItem( "0:00", 2 );
}
karm'KarmWindow::makeMenus() (./kdeutils/karm/top.cpp:206)
void KarmWindow::makeMenus()
{
_fileMenu = new QPopupMenu;
_clockMenu= new QPopupMenu;
_taskMenu = new QPopupMenu;
QString about = i18n(""
"%1 %2 -- Sirtaj Singh Kang\n"
"taj@kde.org, Oct 1997\n\n"
"The K Desktop Environment")
.arg(_karm->KarmName).arg(KARM_VERSION);
menuBar()->insertItem( i18n( "&File" ), _fileMenu);
menuBar()->insertItem( i18n( "&Clock" ), _clockMenu );
menuBar()->insertItem( i18n( "&Task" ), _taskMenu);
menuBar()->insertSeparator();
menuBar()->insertItem( i18n( "&Help" ), helpMenu( about ) );
_watcher->setMenu( _fileMenu );
int id = _fileMenu->insertItem( i18n( "&Preferences..." ),
this, SLOT( prefs() ) );
_watcher->connectAccel( id, "Prefs" );
id = _fileMenu->insertItem( i18n( "&Reset Session Time" ),
this, SLOT( resetSessionTime() ) );
_watcher->connectAccel( id, "ResetSess" );
_fileMenu->insertSeparator( - 1 );
id = _fileMenu->insertItem( i18n( "&Quit" ), kapp, SLOT( quit() ) );
_watcher->connectAccel( id, KStdAccel::Quit );
_watcher->setMenu( _clockMenu );
id = _clockMenu->insertItem( i18n( "&Start" ), _karm, SLOT(startClock()) );
_watcher->connectAccel( id, "StartClock" );
id = _clockMenu->insertItem( i18n( "S&top" ), _karm, SLOT(stopClock()) );
_watcher->connectAccel( id, "StopClock" );
_watcher->setMenu( _taskMenu );
id = _taskMenu->insertItem( i18n( "&New" ), _karm, SLOT(newTask()) );
_watcher->connectAccel( id, "NewTask" );
id = _taskMenu->insertItem( i18n( "&Delete" ), _karm, SLOT(deleteTask()) );
_watcher->connectAccel( id, "DeleteTask" );
id = _taskMenu->insertItem( i18n( "&Edit" ), _karm, SLOT(editTask()));
_watcher->connectAccel( id, "EditTask" );
}