[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdesdk/cervisia
From: Christian Loose <christian.loose () hamburg ! de>
Date: 2005-03-07 21:49:36
Message-ID: 20050307214936.4C815103CB () office ! kde ! org
[Download RAW message or body]
CVS commit by cloose:
Added support for commit template message (CVS/Template) in
the commit dialog.
Patch by Darrell Esau.
TODO:
- check if we need to support subdirectory templates
- if yes, check what cvs does when a commit spans several directories
M +5 -0 ChangeLog 1.150
M +72 -0 commitdlg.cpp 1.21
M +8 -0 commitdlg.h 1.10
--- kdesdk/cervisia/commitdlg.cpp #1.20:1.21
@@ -16,4 +16,6 @@
#include <qcombobox.h>
+#include <qcheckbox.h>
+#include <qdir.h>
#include <qfileinfo.h>
#include <qlabel.h>
@@ -68,4 +70,10 @@ CommitDialog::CommitDialog(KConfig& cfg,
layout->addWidget(edit, 10);
+ m_useTemplateChk = new QCheckBox(i18n("Use log message &template"), mainWidget);
+ layout->addWidget(m_useTemplateChk);
+ connect( m_useTemplateChk, SIGNAL(clicked()), this, SLOT(useTemplateClicked()) );
+
+ checkForTemplateFile();
+
setButtonGuiItem(User1, KGuiItem(i18n("&Diff"), "vcs_diff"));
enableButton(User1, false);
@@ -83,4 +91,7 @@ CommitDialog::~CommitDialog()
{
saveDialogSize(partConfig, "CommitDialog");
+
+ KConfigGroupSaver cs(&partConfig, "CommitDialog");
+ partConfig.writeEntry("UseTemplate", m_useTemplateChk->isChecked());
}
@@ -103,4 +114,7 @@ void CommitDialog::setLogMessage(const Q
{
edit->setText(msg);
+
+ if( m_useTemplateChk->isChecked() )
+ addTemplateText();
}
@@ -200,4 +214,62 @@ void CommitDialog::showDiffDialog(const
+void CommitDialog::useTemplateClicked()
+{
+ if( m_useTemplateChk->isChecked() )
+ {
+ addTemplateText();
+ }
+ else
+ {
+ removeTemplateText();
+ }
+}
+
+
+void CommitDialog::checkForTemplateFile()
+{
+ QString filename = QDir::current().absPath() + "/CVS/Template";
+ if( QFile::exists(filename) )
+ {
+ QFile f(filename);
+ if( f.open(IO_ReadOnly) )
+ {
+ QTextStream stream(&f);
+ m_templateText = stream.read();
+ f.close();
+
+ m_useTemplateChk->setEnabled(true);
+ KConfigGroupSaver cs(&partConfig, "CommitDialog");
+ bool check = partConfig.readBoolEntry("UseTemplate", true);
+ m_useTemplateChk->setChecked(check);
+
+ addTemplateText();
+ }
+ else
+ {
+ m_useTemplateChk->setEnabled(false);
+ }
+ }
+ else
+ {
+ m_useTemplateChk->setEnabled(false);
+ }
+}
+
+
+void CommitDialog::addTemplateText()
+{
+ edit->append(m_templateText);
+ edit->moveCursor(QTextEdit::MoveHome, false);
+ edit->ensureCursorVisible();
+}
+
+
+void CommitDialog::removeTemplateText()
+{
+ edit->setText(edit->text().remove(m_templateText));
+}
+
+
#include "commitdlg.moc"
--- kdesdk/cervisia/commitdlg.h #1.9:1.10
@@ -21,4 +21,5 @@
class QComboBox;
+class QCheckBox;
class QListBox;
class KTextEdit;
@@ -47,7 +48,11 @@ private slots:
void fileHighlighted(int);
void diffClicked();
+ void useTemplateClicked();
private:
void showDiffDialog(const QString& fileName);
+ void checkForTemplateFile();
+ void addTemplateText();
+ void removeTemplateText();
QListBox *listbox;
@@ -59,4 +64,7 @@ private:
int highlightedFile;
+ QCheckBox* m_useTemplateChk;
+ QString m_templateText;
+
KConfig& partConfig;
CvsService_stub* cvsService; // for diff dialog
--- kdesdk/cervisia/ChangeLog #1.149:1.150
@@ -1,2 +1,7 @@
+2005-03-07 Christian Loose <christian.loose@kdemail.net>
+
+ * Added support for commit template message (CVS/Template) in
+ the commit dialog. Patch by Darrell Esau.
+
2005-03-04 Christian Loose <christian.loose@kdemail.net>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic