# # # patch "guitone/res/forms/commit_revision.ui" # from [78cef617df6139602c85a8d944f455ada106f0ca] # to [258d991be703a11e4ef344c8fc8f71d7a7bba0c9] # # patch "guitone/src/view/dialogs/CommitRevision.cpp" # from [e9f64428b27666c3c5985bb7bbddc3817308ec0a] # to [7e11a18bb2cfcfd540aeb08139768b216fa21874] # # patch "guitone/src/view/dialogs/CommitRevision.h" # from [c6064832b35481c22dd0d0bc11d07fb221f40793] # to [e8c3e1b8d4b3012c7c49c4128a4d9de6ffccd518] # ============================================================ --- guitone/res/forms/commit_revision.ui 78cef617df6139602c85a8d944f455ada106f0ca +++ guitone/res/forms/commit_revision.ui 258d991be703a11e4ef344c8fc8f71d7a7bba0c9 @@ -376,5 +376,21 @@ + + previousChangelogEntryList + currentIndexChanged(QString) + changelogEntry + setPlainText(QString) + + + 308 + 376 + + + 293 + 322 + + + ============================================================ --- guitone/src/view/dialogs/CommitRevision.cpp e9f64428b27666c3c5985bb7bbddc3817308ec0a +++ guitone/src/view/dialogs/CommitRevision.cpp 7e11a18bb2cfcfd540aeb08139768b216fa21874 @@ -20,20 +20,32 @@ #include "CommitRevision.h" #include "Monotone.h" +#include "Settings.h" #include +#include CommitRevision::CommitRevision(QWidget* parent) : Dialog(parent) { setupUi(this); Dialog::init(); + // OSX sheet-alike dialog + setWindowFlags(Qt::Sheet); + + previousChangelogEntryList->addItems(Settings::getItemList("ChangelogEntries")); + revModel = new GetRevision(this); changeView->setModel(revModel); changeView->header()->hide(); revModel->readRevision(QString()); connect( + revModel, SIGNAL(revisionRead()), + this, SLOT(checkForChanges()) + ); + + connect( invertSelection, SIGNAL(clicked()), this, SLOT(invertChangesetSelection()) ); @@ -44,6 +56,13 @@ CommitRevision::~CommitRevision() delete revModel; } +void CommitRevision::accept() +{ + Settings::addItemToList("ChangelogEntries", changelogEntry->toPlainText(), 10); + qDebug("CommitRevision::accept: TODO: commit revision"); + done(0); +} + void CommitRevision::invertChangesetSelection() { QItemSelectionModel * selectionModel = changeView->selectionModel(); @@ -74,3 +93,17 @@ void CommitRevision::invertChangesetSele selectionModel->select(selection, QItemSelectionModel::Toggle); } +void CommitRevision::checkForChanges() +{ + if (revModel->rowCount() == 0) + { + QMessageBox::information( + this, + tr("No changes"), + tr("The current workspace has no committable changes."), + QMessageBox::Ok + ); + reject(); + } +} + ============================================================ --- guitone/src/view/dialogs/CommitRevision.h c6064832b35481c22dd0d0bc11d07fb221f40793 +++ guitone/src/view/dialogs/CommitRevision.h e8c3e1b8d4b3012c7c49c4128a4d9de6ffccd518 @@ -38,6 +38,8 @@ private slots: private slots: void invertChangesetSelection(); + void checkForChanges(); + void accept(); }; #endif