|
|
|
@ -73,6 +73,7 @@
|
|
|
|
|
#include <kinstance.h>
|
|
|
|
|
|
|
|
|
|
#include <kwin.h>
|
|
|
|
|
#include <kurl.h>
|
|
|
|
|
#include <kaction.h>
|
|
|
|
|
#include <kpopupmenu.h>
|
|
|
|
|
#include <kmessagebox.h>
|
|
|
|
@ -828,6 +829,9 @@ QString RsyncPlugin::findLocalFolderByName(QString folderurl)
|
|
|
|
|
return (*i);
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
@ -844,6 +848,66 @@ QString RsyncPlugin::findSyncMethodByName(QString folderurl)
|
|
|
|
|
i++;
|
|
|
|
|
return (*i);
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString RsyncPlugin::findLoginSyncEnabledByName(QString folderurl)
|
|
|
|
|
{
|
|
|
|
|
QString folderurl_stripped;
|
|
|
|
|
folderurl_stripped = folderurl;
|
|
|
|
|
folderurl_stripped.replace(QString("file://"), QString(""));
|
|
|
|
|
for (QStringList::Iterator i(cfgfolderlist.begin()); i != cfgfolderlist.end(); ++i) {
|
|
|
|
|
if (QString::compare((*i), folderurl_stripped) == 0) {
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
return (*i);
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString RsyncPlugin::findLogoutSyncEnabledByName(QString folderurl)
|
|
|
|
|
{
|
|
|
|
|
QString folderurl_stripped;
|
|
|
|
|
folderurl_stripped = folderurl;
|
|
|
|
|
folderurl_stripped.replace(QString("file://"), QString(""));
|
|
|
|
|
for (QStringList::Iterator i(cfgfolderlist.begin()); i != cfgfolderlist.end(); ++i) {
|
|
|
|
|
if (QString::compare((*i), folderurl_stripped) == 0) {
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
return (*i);
|
|
|
|
|
i++;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString RsyncPlugin::findTimedSyncEnabledByName(QString folderurl)
|
|
|
|
|
{
|
|
|
|
|
QString folderurl_stripped;
|
|
|
|
|
folderurl_stripped = folderurl;
|
|
|
|
|
folderurl_stripped.replace(QString("file://"), QString(""));
|
|
|
|
|
for (QStringList::Iterator i(cfgfolderlist.begin()); i != cfgfolderlist.end(); ++i) {
|
|
|
|
|
if (QString::compare((*i), folderurl_stripped) == 0) {
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
i++;
|
|
|
|
|
return (*i);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return NULL;
|
|
|
|
@ -856,6 +920,9 @@ int RsyncPlugin::deleteLocalFolderByName(QString folderurl)
|
|
|
|
|
folderurl_stripped.replace(QString("file://"), QString(""));
|
|
|
|
|
for (QStringList::Iterator i(cfgfolderlist.begin()); i != cfgfolderlist.end(); ++i) {
|
|
|
|
|
if (QString::compare((*i), folderurl_stripped) == 0) {
|
|
|
|
|
i=cfgfolderlist.remove(i);
|
|
|
|
|
i=cfgfolderlist.remove(i);
|
|
|
|
|
i=cfgfolderlist.remove(i);
|
|
|
|
|
i=cfgfolderlist.remove(i);
|
|
|
|
|
i=cfgfolderlist.remove(i);
|
|
|
|
|
i=cfgfolderlist.remove(i);
|
|
|
|
@ -866,7 +933,7 @@ int RsyncPlugin::deleteLocalFolderByName(QString folderurl)
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int RsyncPlugin::addLocalFolderByName(QString folderurl, QString remoteurl, QString syncmethod, QString excludelist)
|
|
|
|
|
int RsyncPlugin::addLocalFolderByName(QString folderurl, QString remoteurl, QString syncmethod, QString excludelist, QString sync_on_login, QString sync_on_logout, QString sync_timed_interval)
|
|
|
|
|
{
|
|
|
|
|
QString folderurl_stripped;
|
|
|
|
|
folderurl_stripped = folderurl;
|
|
|
|
@ -875,6 +942,9 @@ int RsyncPlugin::addLocalFolderByName(QString folderurl, QString remoteurl, QStr
|
|
|
|
|
cfgfolderlist.append(remoteurl);
|
|
|
|
|
cfgfolderlist.append(syncmethod);
|
|
|
|
|
cfgfolderlist.append(excludelist);
|
|
|
|
|
cfgfolderlist.append(sync_on_login);
|
|
|
|
|
cfgfolderlist.append(sync_on_logout);
|
|
|
|
|
cfgfolderlist.append(sync_timed_interval);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -885,6 +955,7 @@ void RsyncPlugin::slotOpenURL ()
|
|
|
|
|
if (m_pURL != url)
|
|
|
|
|
{
|
|
|
|
|
// See if this URL is "/", "/dev", or "/proc", and disable sync if so
|
|
|
|
|
// Also disable sync for non-"file://" URLs
|
|
|
|
|
if ((url.directory(true, true) + QString("/") + url.fileName(true)) == "//") {
|
|
|
|
|
m_pSyncSetup->setEnabled(false);
|
|
|
|
|
m_pSyncNow->setEnabled(false);
|
|
|
|
@ -897,6 +968,10 @@ void RsyncPlugin::slotOpenURL ()
|
|
|
|
|
m_pSyncSetup->setEnabled(false);
|
|
|
|
|
m_pSyncNow->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
else if (url.protocol() != QString("file")) {
|
|
|
|
|
m_pSyncSetup->setEnabled(false);
|
|
|
|
|
m_pSyncNow->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
m_pSyncSetup->setEnabled(true);
|
|
|
|
|
|
|
|
|
@ -971,7 +1046,7 @@ void RsyncPlugin::slotSetupOK()
|
|
|
|
|
deleteLocalFolderByName(localfolder);
|
|
|
|
|
}
|
|
|
|
|
if (remotefolder_new.isEmpty() == false) {
|
|
|
|
|
addLocalFolderByName(localfolder, remotefolder_new, syncmethod_new, "");
|
|
|
|
|
addLocalFolderByName(localfolder, remotefolder_new, syncmethod_new, "", "0", "0", "-1");
|
|
|
|
|
}
|
|
|
|
|
saveSettings();
|
|
|
|
|
|
|
|
|
|