mirror of
https://bitbucket.org/smil3y/kde-playground.git
synced 2025-02-23 10:22:50 +00:00
112 lines
2.9 KiB
C++
112 lines
2.9 KiB
C++
#include "edittaskdialog.h"
|
|
#include "ui_edittaskdialog.h"
|
|
#include "historydialog.h"
|
|
#include <KMessageBox>
|
|
#include "ktimetrackerutility.h"
|
|
#include <QCheckBox>
|
|
|
|
QVector<QCheckBox*> desktopcheckboxes;
|
|
|
|
EditTaskDialog::EditTaskDialog(TaskView *parent, const QString &caption, DesktopList* desktopList)
|
|
: QDialog( parent ),
|
|
m_ui(new Ui::EditTaskDialog)
|
|
{
|
|
setWindowTitle(caption);
|
|
m_parent=parent;
|
|
m_ui->setupUi(this);
|
|
|
|
{ // Set the desktop checkboxes
|
|
QCheckBox* desktopcheckbox;
|
|
desktopcheckboxes.clear();
|
|
int lines=5;
|
|
for (int i=0; i<desktopcount(); ++i)
|
|
{
|
|
desktopcheckbox = new QCheckBox(m_ui->autotrackinggroupbox);
|
|
desktopcheckbox->setObjectName(QString::fromUtf8("desktop_").append(i));
|
|
desktopcheckbox->setText(KWindowSystem::desktopName( i + 1 ));
|
|
m_ui->gridLayout_2->addWidget(desktopcheckbox, i % lines, i / lines + 1);
|
|
desktopcheckboxes.push_back(desktopcheckbox);
|
|
}
|
|
if ( desktopList && ( desktopList->size() > 0 ) )
|
|
{
|
|
DesktopList::iterator it = desktopList->begin();
|
|
while ( it != desktopList->end() )
|
|
{
|
|
desktopcheckboxes[*it]->setChecked( true );
|
|
++it;
|
|
}
|
|
m_ui->autotrackinggroupbox->setChecked(true);
|
|
}
|
|
else
|
|
for ( int i = 0; i < desktopcheckboxes.count(); ++i )
|
|
desktopcheckboxes[i]->setEnabled(false);
|
|
}
|
|
}
|
|
|
|
EditTaskDialog::~EditTaskDialog()
|
|
{
|
|
delete m_ui;
|
|
}
|
|
|
|
void EditTaskDialog::changeEvent(QEvent *e)
|
|
{
|
|
QDialog::changeEvent(e);
|
|
switch (e->type())
|
|
{
|
|
case QEvent::LanguageChange:
|
|
m_ui->retranslateUi(this);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
QString EditTaskDialog::taskName()
|
|
{
|
|
return m_ui->tasknamelineedit->text();
|
|
}
|
|
|
|
QString EditTaskDialog::taskDescription()
|
|
{
|
|
return m_ui->tasknametextedit->toPlainText();
|
|
}
|
|
|
|
QString EditTaskDialog::timeChange()
|
|
{
|
|
return m_ui->letimechange->text();
|
|
}
|
|
|
|
void EditTaskDialog::setTask(const QString &name)
|
|
{
|
|
m_ui->tasknamelineedit->setText(name);
|
|
}
|
|
|
|
void EditTaskDialog::setDescription(const QString &description)
|
|
{
|
|
m_ui->tasknametextedit->setText(description);
|
|
}
|
|
|
|
void EditTaskDialog::status(DesktopList *desktopList) const
|
|
{
|
|
if ( desktopList )
|
|
{
|
|
desktopList->clear();
|
|
for ( int i = 0; i < desktopcheckboxes.count(); ++i )
|
|
{
|
|
if ( desktopcheckboxes[i]->isEnabled() && desktopcheckboxes[i]->isChecked() ) desktopList->append( i );
|
|
}
|
|
}
|
|
}
|
|
|
|
void EditTaskDialog::on_edittimespushbutton_clicked()
|
|
{
|
|
historydialog* historydialog1=new historydialog(m_parent);
|
|
lower();
|
|
historydialog1->exec();
|
|
}
|
|
|
|
void EditTaskDialog::on_autotrackinggroupbox_clicked()
|
|
{
|
|
for ( int i = 0; i < desktopcheckboxes.count(); ++i )
|
|
desktopcheckboxes[i]->setEnabled(m_ui->autotrackinggroupbox->isChecked());
|
|
}
|