summaryrefslogtreecommitdiffstats
path: root/src/ksquirrel-libs-configurator/klc.ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ksquirrel-libs-configurator/klc.ui.h')
-rw-r--r--src/ksquirrel-libs-configurator/klc.ui.h161
1 files changed, 161 insertions, 0 deletions
diff --git a/src/ksquirrel-libs-configurator/klc.ui.h b/src/ksquirrel-libs-configurator/klc.ui.h
new file mode 100644
index 0000000..9d0ab7c
--- /dev/null
+++ b/src/ksquirrel-libs-configurator/klc.ui.h
@@ -0,0 +1,161 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you want to add, delete, or rename functions or slots, use
+** TQt Designer to update this file, preserving your code.
+**
+** You should not define a constructor or destructor in this file.
+** Instead, write your code in functions called init() and destroy().
+** These will automatically be called by the form's constructor and
+** destructor.
+*****************************************************************************/
+
+#if !defined(QT_STRINGIFY)
+# define QT_STRINGIFY2(x) #x
+# define QT_STRINGIFY(x) QT_STRINGIFY2(x)
+#endif
+
+void KLC::init()
+{
+ changed = false;
+
+ listEnabled->setSorting(0);
+ listEnabled->header()->hide();
+
+ listDisabled->setSorting(0);
+ listDisabled->header()->hide();
+
+ lister = new KDirLister;
+ connect(lister, TQ_SIGNAL(completed(const KURL &)), this, TQ_SLOT(slotCompleted(const KURL &)));
+ connect(lister, TQ_SIGNAL(deleteItem(KFileItem *)), this, TQ_SLOT(slotDeleteItem(KFileItem *)));
+ connect(lister, TQ_SIGNAL(newItems(const KFileItemList &)), this, TQ_SLOT(slotNewItems(const KFileItemList &)));
+
+ base = KURL::fromPathOrURL(QT_STRINGIFY(SQ_KLIBS));
+
+ backup = base;
+ backup.addPath("backup");
+
+ backupDir = backup.path();
+
+ TDEIO::NetAccess::mkdir(backup, this);
+
+ TQTimer::singleShot(0, this, TQ_SLOT(slotLoad()));
+}
+
+void KLC::slotLoad()
+{
+ lister->openURL(base);
+ lister->openURL(backup, true);
+}
+
+void KLC::destroy()
+{
+ delete lister;
+}
+
+void KLC::slotApply()
+{
+ changed = true;
+
+ moveCodecs(true);
+ moveCodecs(false);
+}
+
+void KLC::moveCodecs(bool e2d)
+{
+ KURL::List list;
+ KURL codec;
+
+ TQListViewItemIterator it(e2d ? listEnabled : listDisabled);
+ TQCheckListItem *li;
+
+ while((li = static_cast<TQCheckListItem *>(it.current())))
+ {
+ if(li->isOn())
+ {
+ codec = e2d ? base : backup;
+ codec.addPath(li->text());
+ list.append(codec);
+ }
+
+ ++it;
+ }
+
+ TDEIO::Job *job = TDEIO::move(list, e2d ? backup : base);
+
+ connect(job, TQ_SIGNAL(result(TDEIO::Job *)), this, TQ_SLOT(slotDelResult(TDEIO::Job *)));
+}
+
+void KLC::slotCompleted(const KURL &u)
+{
+ if(u == base)
+ {
+ listEnabled->setEnabled(true);
+ listEnabled->setCurrentItem(listEnabled->firstChild());
+ }
+ else
+ {
+ listDisabled->setEnabled(true);
+ listDisabled->setCurrentItem(listDisabled->firstChild());
+ }
+}
+
+void KLC::slotNewItems(const KFileItemList &list)
+{
+ KFileItemListIterator it(list);
+ KFileItem *fi;
+ TQString soname = TQString::fromLatin1(".so.%1").arg(QT_STRINGIFY(SQ_KL_VER));
+
+ while((fi = it.current()))
+ {
+ if(fi->isFile() && fi->name().endsWith(soname))
+ new TQCheckListItem(fi->url().directory().startsWith(backupDir) ? listDisabled:listEnabled, fi->name(), TQCheckListItem::CheckBox);
+
+ ++it;
+ }
+}
+
+void KLC::slotDeleteItem(KFileItem *fi)
+{
+ TQListView *l = fi->url().directory().startsWith(backupDir) ? listDisabled:listEnabled;
+
+ TQListViewItemIterator it(l);
+ TQCheckListItem *li;
+ TQListViewItem *li2;
+
+ while((li = static_cast<TQCheckListItem *>(it.current())))
+ {
+ if(li->text() == fi->name())
+ {
+ li2 = li->itemBelow();
+
+ if(!li2)
+ li2 = li->itemAbove();
+
+ delete li;
+
+ l->setCurrentItem(li2);
+ l->setSelected(li2, true);
+
+ return;
+ }
+
+ ++it;
+ }
+}
+
+void KLC::slotDelResult(TDEIO::Job *job)
+{
+ if(job && job->error())
+ job->showErrorDialog(this);
+}
+
+void KLC::closeEvent(TQCloseEvent *ev)
+{
+ TQString data;
+
+ if(changed)
+ tdeApp->dcopClient()->send("ksquirrel", "ksquirrel", "reload_codecs()", data);
+
+ ev->accept();
+}