Added checkboxes to the files in the commit dialog
FossilOrigin-Name: 30fdcc0810046768f9635d4972026cadb1bb9dd3
This commit is contained in:
parent
ea8419286c
commit
a38503538c
@ -3,7 +3,7 @@
|
||||
#include "ui_CommitDialog.h"
|
||||
#include "MainWindow.h" // Ugly. I know.
|
||||
|
||||
CommitDialog::CommitDialog(QWidget *parent, const QStringList &commitMsgHistory, const QStringList &files) :
|
||||
CommitDialog::CommitDialog(QWidget *parent, const QStringList &commitMsgHistory, QStringList &files) :
|
||||
QDialog(parent, Qt::Sheet),
|
||||
ui(new Ui::CommitDialog)
|
||||
{
|
||||
@ -14,8 +14,12 @@ CommitDialog::CommitDialog(QWidget *parent, const QStringList &commitMsgHistory,
|
||||
ui->listView->setModel(&itemModel);
|
||||
|
||||
for(QStringList::const_iterator it=files.begin(); it!=files.end(); ++it)
|
||||
itemModel.appendRow(new QStandardItem(*it));
|
||||
|
||||
{
|
||||
QStandardItem *si = new QStandardItem(*it);
|
||||
si->setCheckable(true);
|
||||
si->setCheckState(Qt::Checked);
|
||||
itemModel.appendRow(si);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -26,17 +30,24 @@ CommitDialog::~CommitDialog()
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
bool CommitDialog::run(QWidget *parent, QString &commitMsg, const QStringList &commitMsgHistory, const QStringList &files)
|
||||
bool CommitDialog::run(QWidget *parent, QString &commitMsg, const QStringList &commitMsgHistory, QStringList &files)
|
||||
{
|
||||
CommitDialog dlg(parent, commitMsgHistory, files);
|
||||
int res = dlg.exec();
|
||||
if(res==QDialog::Accepted)
|
||||
if(res!=QDialog::Accepted)
|
||||
return false;
|
||||
|
||||
files.clear();
|
||||
for(int i=0; i<dlg.itemModel.rowCount(); ++i)
|
||||
{
|
||||
commitMsg = dlg.ui->plainTextEdit->toPlainText();
|
||||
return true;
|
||||
QStandardItem *si = dlg.itemModel.item(i);
|
||||
if(si->checkState()!=Qt::Checked)
|
||||
continue;
|
||||
files.append(si->text());
|
||||
}
|
||||
|
||||
return false;
|
||||
commitMsg = dlg.ui->plainTextEdit->toPlainText();
|
||||
return true;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
@ -45,11 +56,6 @@ void CommitDialog::on_comboBox_activated(const QString &arg1)
|
||||
ui->plainTextEdit->setPlainText(arg1);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void CommitDialog::on_plainTextEdit_textChanged()
|
||||
{
|
||||
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!ui->plainTextEdit->toPlainText().isEmpty());
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void CommitDialog::on_listView_doubleClicked(const QModelIndex &index)
|
||||
@ -58,3 +64,17 @@ void CommitDialog::on_listView_doubleClicked(const QModelIndex &index)
|
||||
QString filename = data.toString();
|
||||
reinterpret_cast<MainWindow*>(parent())->diffFile(filename);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void CommitDialog::on_listView_clicked(const QModelIndex &)
|
||||
{
|
||||
int num_selected = 0;
|
||||
for(int i=0; i<itemModel.rowCount(); ++i)
|
||||
{
|
||||
QStandardItem *si = itemModel.item(i);
|
||||
if(si->checkState()==Qt::Checked)
|
||||
++num_selected;
|
||||
}
|
||||
|
||||
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(num_selected>0);
|
||||
}
|
||||
|
@ -13,16 +13,17 @@ class CommitDialog : public QDialog
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit CommitDialog(QWidget *parent, const QStringList &commitMsgHistory, const QStringList &files);
|
||||
explicit CommitDialog(QWidget *parent, const QStringList &commitMsgHistory, QStringList &files);
|
||||
~CommitDialog();
|
||||
|
||||
static bool run(QWidget *parent, QString &commitMsg, const QStringList &commitMsgHistory, const QStringList &files);
|
||||
static bool run(QWidget *parent, QString &commitMsg, const QStringList &commitMsgHistory, QStringList &files);
|
||||
|
||||
private slots:
|
||||
void on_comboBox_activated(const QString &arg1);
|
||||
void on_plainTextEdit_textChanged();
|
||||
void on_listView_doubleClicked(const QModelIndex &index);
|
||||
|
||||
void on_listView_clicked(const QModelIndex &index);
|
||||
|
||||
private:
|
||||
Ui::CommitDialog *ui;
|
||||
QStandardItemModel itemModel;
|
||||
|
@ -1051,6 +1051,10 @@ void MainWindow::on_actionCommit_triggered()
|
||||
if(!CommitDialog::run(this, msg, commitMessages, modified_files))
|
||||
return;
|
||||
|
||||
// Since via the commit dialog the user can deselect all files
|
||||
if(modified_files.empty())
|
||||
return;
|
||||
|
||||
// Do commit
|
||||
commitMessages.push_front(msg);
|
||||
QString comment_fname;
|
||||
|
16
manifest
16
manifest
@ -1,12 +1,12 @@
|
||||
C Fixed\sfossil\sprocess\stermination\son\sWindows\nAbstracted\sfossil\sui\surl\nAdded\s(disabled)\scode\sto\sdetect\sfossil\sui\slaunch\sport\n
|
||||
D 2011-09-03T15:03:01.556
|
||||
F CommitDialog.cpp a1fcdc94933f4e1a144224c7c70f1e067d3ee31e
|
||||
F CommitDialog.h 0550b1b652924ae54b6f6c9274cad2d4c491808a
|
||||
C Added\scheckboxes\sto\sthe\sfiles\sin\sthe\scommit\sdialog
|
||||
D 2011-09-04T04:17:52.743
|
||||
F CommitDialog.cpp 8965e52d077c300cf1acb1b16fb2dcca5c7070f8
|
||||
F CommitDialog.h a9596d99865cf312b419d01d51334ffc916f5508
|
||||
F CommitDialog.ui 5067623f6af6f5a42c87df903278e383e945e154
|
||||
F FileActionDialog.cpp fcaebf9986f789b3440d5390b3458ad5f86fe0c8
|
||||
F FileActionDialog.h 15db1650b3a13d70bc338371e4c033c66e3b79ce
|
||||
F FileActionDialog.ui c63644428579741aeb5fa052e237ba799ced9ad7
|
||||
F MainWindow.cpp 741cb2db89baf6330d3bfe87c99fb5918b5b2516
|
||||
F MainWindow.cpp 5ef8e7de011610db2d29f168ffec64ea0374a42b
|
||||
F MainWindow.h cb4d2ab3c3fb3ecc26c5d162358316516090a89e
|
||||
F MainWindow.ui fcce2709fd2dc332061ee72cbc5a5a17adfd0779
|
||||
F RepoDialog.cpp 8f20e1511526973555c774350ec413dcecf51c9e
|
||||
@ -173,7 +173,7 @@ F icons/fuel.icns 81e535004b62db801a02f3e15d0a33afc9d4070b
|
||||
F icons/fuel.ico eb529ab3332a17b9302ef3e851db5b9ebce2a038
|
||||
F main.cpp 083845039c167badd57a4abf482dd3d5e77aab35
|
||||
F resources.qrc e98383ed205f4e37100c60057e0129c3b86dea53
|
||||
P 208e56425e61f15f00ee2bbe200de18fda7fbc07
|
||||
R b8326070b54d51ef8c16887c4286d870
|
||||
P e8b33f373c855cce60dd9fc528b7684f85849d5d
|
||||
R d7b970b32c4bc6ca8a9920ccecb4476e
|
||||
U kostas
|
||||
Z ba35c3d1bb569a4e3dbcd9d6ff41a92f
|
||||
Z ff80aa0bb5b34a82362b3abf93044c9d
|
||||
|
@ -1 +1 @@
|
||||
e8b33f373c855cce60dd9fc528b7684f85849d5d
|
||||
30fdcc0810046768f9635d4972026cadb1bb9dd3
|
Loading…
x
Reference in New Issue
Block a user