[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [Konversation] 978a1c8: Added DCC auto-resume feature by Michael
From: Christian Muehlhaeuser <chris () chris ! de>
Date: 2010-07-01 13:27:26
Message-ID: 20100701132726.2CF4FBB55EB () projects ! kde ! org
[Download RAW message or body]
commit 978a1c83c4fce4f2d55b054b6e355f2e84e5f289
Author: Christian Muehlhaeuser <chris@chris.de>
Date: Sat Jun 5 01:06:01 2004 +0000
Added DCC auto-resume feature by Michael Goettsche (thanks!)
CCMAIL:81740-done@bugs.kde.org
svn path=/trunk/kdeextragear-2/konversation/; revision=317808
diff --git a/ChangeLog b/ChangeLog
index 286706c..a63fd25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,5 @@
Changes from 0.13 to 0.14
+- Added DCC auto-resume feature by Michael Goettsche (BR 81740) (thanks!)
- Added systray notification
- Added shell like nick completion mode (aka uga mode)
- Implemented a cleaner way of handling tab shortcuts
diff --git a/konversation/dcctransfer.cpp b/konversation/dcctransfer.cpp
index 094e735..1d79854 100644
--- a/konversation/dcctransfer.cpp
+++ b/konversation/dcctransfer.cpp
@@ -134,7 +134,16 @@ void DccTransfer::startGet()
setPosition(fileSize);
QString newName(fullName);
- int doResume=DccResumeDialog::ask(0,newName,dir.path());
+ int doResume;
+
+ if(KonversationApplication::preferences.getDccAutoResume())
+ {
+ doResume=KDialogBase::Ok;
+ }
+ else
+ {
+ doResume=DccResumeDialog::ask(0,newName,dir.path());
+ }
/*
int doResume=KMessageBox::questionYesNoCancel
(
diff --git a/konversation/konvdcop.cpp b/konversation/konvdcop.cpp
index 0317bb2..e2bcfe9 100644
--- a/konversation/konvdcop.cpp
+++ b/konversation/konvdcop.cpp
@@ -388,6 +388,10 @@ bool KonvPrefsDCOP::getDccCreateFolder()
void KonvPrefsDCOP::setDccAutoGet(bool state)
{
KonversationApplication::preferences.setDccAutoGet(state);
+ if(KonversationApplication::preferences.getDccAutoResume() == true && state == \
false) + {
+ KonversationApplication::preferences.setDccAutoResume(false);
+ }
static_cast<KonversationApplication *>(kapp)->saveOptions(true);
}
@@ -396,6 +400,21 @@ bool KonvPrefsDCOP::getDccAutoGet()
return KonversationApplication::preferences.getDccAutoGet();
}
+void KonvPrefsDCOP::setDccAutoResume(bool state)
+{
+ KonversationApplication::preferences.setDccAutoResume(state);
+ if(KonversationApplication::preferences.getDccAutoGet() == false && state == true)
+ {
+ KonversationApplication::preferences.setDccAutoGet(true);
+ }
+ static_cast<KonversationApplication*>(kapp)->saveOptions(true);
+}
+
+bool KonvPrefsDCOP::getDccAutoResume()
+{
+ return KonversationApplication::preferences.getDccAutoResume();
+}
+
void KonvPrefsDCOP::setDccBufferSize(unsigned long size)
{
KonversationApplication::preferences.setDccBufferSize(size);
diff --git a/konversation/konvdcop.h b/konversation/konvdcop.h
index 2ad3818..b32dde3 100644
--- a/konversation/konvdcop.h
+++ b/konversation/konvdcop.h
@@ -105,6 +105,8 @@ class KonvPrefsDCOP : public QObject, virtual public \
KonvPreferencesIface bool getDccCreateFolder();
void setDccAutoGet(bool state);
bool getDccAutoGet();
+ void setDccAutoResume(bool state);
+ bool getDccAutoResume();
void setDccBufferSize(unsigned long size);
unsigned long getDccBufferSize();
void setDccPath(QString path);
diff --git a/konversation/konversationapplication.cpp \
b/konversation/konversationapplication.cpp index c906df8..23524cb 100644
--- a/konversation/konversationapplication.cpp
+++ b/konversation/konversationapplication.cpp
@@ -533,6 +533,7 @@ void KonversationApplication::readOptions()
preferences.setDccAddPartner(config->readBoolEntry("AddPartner",preferences.getDccAddPartner()));
preferences.setDccCreateFolder(config->readBoolEntry("CreateFolder",preferences.getDccCreateFolder()));
preferences.setDccAutoGet(config->readBoolEntry("AutoGet",preferences.getDccAutoGet()));
+ preferences.setDccAutoResume(config->readBoolEntry("AutoResume",preferences.getDccAutoResume()));
// Path settings
config->setGroup("Path Settings");
@@ -777,6 +778,7 @@ void KonversationApplication::saveOptions(bool updateGUI)
config->writeEntry("BufferSize",preferences.getDccBufferSize());
config->writeEntry("Rollback",preferences.getDccRollback());
config->writeEntry("AutoGet",preferences.getDccAutoGet());
+ config->writeEntry("AutoResume",preferences.getDccAutoResume());
// Path Settings
config->setGroup("Path Settings");
diff --git a/konversation/konviface.h b/konversation/konviface.h
index 42d7f1f..ae7d065 100644
--- a/konversation/konviface.h
+++ b/konversation/konviface.h
@@ -87,6 +87,8 @@ class KonvPreferencesIface : virtual public DCOPObject
virtual bool getDccCreateFolder() = 0;
virtual void setDccAutoGet(bool state) = 0;
virtual bool getDccAutoGet() = 0;
+ virtual void setDccAutoResume(bool state) = 0;
+ virtual bool getDccAutoResume() = 0;
virtual void setDccBufferSize(unsigned long size) = 0;
virtual unsigned long getDccBufferSize() = 0;
virtual void setDccPath(QString path) = 0;
diff --git a/konversation/preferences.cpp b/konversation/preferences.cpp
index 13f7886..1ee4244 100644
--- a/konversation/preferences.cpp
+++ b/konversation/preferences.cpp
@@ -368,6 +368,9 @@ unsigned long Preferences::getDccRollback() { return dccRollback; \
} void Preferences::setDccAutoGet(bool state) { dccAutoGet=state; }
bool Preferences::getDccAutoGet() { return dccAutoGet; }
+void Preferences::setDccAutoResume(bool state) { dccAutoResume=state; }
+bool Preferences::getDccAutoResume() { return dccAutoResume; }
+
void Preferences::setDccPath(const QString &path) { dccPath=path; }
QString Preferences::getDccPath() { return dccPath; }
diff --git a/konversation/preferences.h b/konversation/preferences.h
index 94d187f..bf16ecf 100644
--- a/konversation/preferences.h
+++ b/konversation/preferences.h
@@ -111,6 +111,8 @@ class Preferences : public QObject
bool getDccCreateFolder();
void setDccAutoGet(bool state);
bool getDccAutoGet();
+ void setDccAutoResume(bool state);
+ bool getDccAutoResume();
void setDccBufferSize(unsigned long size);
unsigned long getDccBufferSize();
void setDccPath(const QString &path);
@@ -409,6 +411,7 @@ class Preferences : public QObject
bool dccAddPartner;
bool dccCreateFolder; // create folders for each DCC partner?
bool dccAutoGet;
+ bool dccAutoResume;
unsigned long dccBufferSize;
unsigned long dccRollback; // Rollback for Resume
QString dccPath;
diff --git a/konversation/prefspagedccsettings.cpp \
b/konversation/prefspagedccsettings.cpp index 697c0f7..473a7bf 100644
--- a/konversation/prefspagedccsettings.cpp
+++ b/konversation/prefspagedccsettings.cpp
@@ -34,7 +34,7 @@ PrefsPageDccSettings::PrefsPageDccSettings(QFrame* \
newParent,Preferences* newPre {
setName("DCC Settings");
// Add a Layout to the DCC settings pane
- QGridLayout* dccSettingsLayout=new \
QGridLayout(parentFrame,5,3,marginHint(),spacingHint(),"dcc_settings_layout"); + \
QGridLayout* dccSettingsLayout=new \
QGridLayout(parentFrame,6,3,marginHint(),spacingHint(),"dcc_settings_layout");
QLabel* dccFolderLabel=new QLabel(i18n("DCC &folder:"),parentFrame);
dccFolderInput=new KLineEdit(preferences->getDccPath(),parentFrame);
@@ -63,12 +63,16 @@ PrefsPageDccSettings::PrefsPageDccSettings(QFrame* \
newParent,Preferences* newPre dccSpinBoxes->setStretchFactor(dccRollbackLabel,10);
dccAutoGet=new QCheckBox(i18n("&Automatically accept DCC \
download"),parentFrame,"dcc_autoget_checkbox"); + connect(dccAutoGet, \
SIGNAL(stateChanged(int)), this, SLOT(autoGetStateChanged(int))); + \
dccAutoResume=new QCheckBox(i18n("&Automatically resume DCC download"), \
parentFrame,"dcc_autoresume_checkbox"); + connect(dccAutoResume, \
SIGNAL(stateChanged(int)), this, SLOT(autoResumeStateChanged(int))); \
dccAddSender=new QCheckBox(i18n("Add &sender to file \
name"),parentFrame,"dcc_sender_checkbox"); dccCreateFolder=new \
QCheckBox(i18n("&Create folder for \
sender"),parentFrame,"dcc_create_folder_checkbox");
dccAddSender->setChecked(preferences->getDccAddPartner());
dccCreateFolder->setChecked(preferences->getDccCreateFolder());
dccAutoGet->setChecked(preferences->getDccAutoGet());
+ dccAutoResume->setChecked(preferences->getDccAutoResume());
QHBox* dccSpacer=new QHBox(parentFrame);
@@ -84,6 +88,8 @@ PrefsPageDccSettings::PrefsPageDccSettings(QFrame* \
newParent,Preferences* newPre
dccSettingsLayout->addMultiCellWidget(dccAutoGet,row,row,0,2);
row++;
+ dccSettingsLayout->addMultiCellWidget(dccAutoResume,row,row,0,2);
+ row++;
dccSettingsLayout->addMultiCellWidget(dccAddSender,row,row,0,2);
row++;
dccSettingsLayout->addMultiCellWidget(dccCreateFolder,row,row,0,2);
@@ -115,12 +121,29 @@ void PrefsPageDccSettings::folderButtonClicked()
}
}
+void PrefsPageDccSettings::autoResumeStateChanged(int state)
+{
+ if(state == QButton::On)
+ {
+ dccAutoGet->setChecked(true);
+ }
+}
+
+void PrefsPageDccSettings::autoGetStateChanged(int state)
+{
+ if(state == QButton::Off && dccAutoResume->isChecked())
+ {
+ dccAutoResume->setChecked(false);
+ }
+}
+
void PrefsPageDccSettings::applyPreferences()
{
preferences->setDccPath(dccFolderInput->text());
preferences->setDccBufferSize(dccBufferSpin->value());
preferences->setDccRollback(dccRollbackSpin->value());
preferences->setDccAutoGet(dccAutoGet->isChecked());
+ preferences->setDccAutoResume(dccAutoResume->isChecked());
preferences->setDccAddPartner(dccAddSender->isChecked());
preferences->setDccCreateFolder(dccCreateFolder->isChecked());
}
diff --git a/konversation/prefspagedccsettings.h \
b/konversation/prefspagedccsettings.h index e121f3f..7ace979 100644
--- a/konversation/prefspagedccsettings.h
+++ b/konversation/prefspagedccsettings.h
@@ -39,12 +39,15 @@ class PrefsPageDccSettings : public PrefsPage
protected slots:
void folderButtonClicked();
+ void autoResumeStateChanged(int state);
+ void autoGetStateChanged(int state);
protected:
KLineEdit* dccFolderInput;
QSpinBox* dccBufferSpin;
QSpinBox* dccRollbackSpin;
QCheckBox* dccAutoGet;
+ QCheckBox* dccAutoResume;
QCheckBox* dccAddSender;
QCheckBox* dccCreateFolder;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic