beagle r4410 - in trunk/beagle: . tools



Author: dbera
Date: Tue Jan 22 00:29:37 2008
New Revision: 4410
URL: http://svn.gnome.org/viewvc/beagle?rev=4410&view=rev

Log:
Add a Qt port of beagle-settings, using Qyoto (Qt C# binding). Its absolutely trivial to create UI using qt-designer and C# makes it zero-effort to write the few lines of code.


Added:
   trunk/beagle/tools/SettingsQt.cs
   trunk/beagle/tools/beagle-settings-qt.ui
   trunk/beagle/tools/kerry.png   (contents, props changed)
Modified:
   trunk/beagle/configure.in
   trunk/beagle/tools/Makefile.am

Modified: trunk/beagle/configure.in
==============================================================================
--- trunk/beagle/configure.in	(original)
+++ trunk/beagle/configure.in	Tue Jan 22 00:29:37 2008
@@ -547,6 +547,26 @@
 
 dnl ----------------------------------------------
 
+dnl Qt beagle-settings
+
+AC_ARG_ENABLE([qt],
+	AC_HELP_STRING([--enable-qt], [Enable Qt GUI for beagle-settings (default no)]),
+	enable_qt=$enableval,
+	enable_qt=no)
+
+if test "x$enable_qt" != "xno"; then
+	PKG_CHECK_MODULES(QYOTO, qyoto >= 4.3.0, has_qyoto=yes, has_qyoto=no)
+	if test "x$enable_qt" = "xyes" -a "x$has_qyoto" != "xyes"; then
+		AC_MSG_ERROR([qyoto >= 4.3.0 not found])
+	else
+		enable_qt=$has_qyoto
+	fi
+fi
+
+AM_CONDITIONAL(ENABLE_QT, test "x$enable_qt" = "xyes")
+
+dnl ----------------------------------------------
+
 dnl Monodoc
 
 AC_ARG_ENABLE(docs,
@@ -642,5 +662,7 @@
 	Monitor screensaver       ${have_xss}
 	beagle-search GUI	  ${enable_gui}
 
+	Qt beagle-settings GUI    ${enable_qt}
+
 	Build docs?               ${with_docs}
 "

Modified: trunk/beagle/tools/Makefile.am
==============================================================================
--- trunk/beagle/tools/Makefile.am	(original)
+++ trunk/beagle/tools/Makefile.am	Tue Jan 22 00:29:37 2008
@@ -129,6 +129,24 @@
 	$(WRAPPER_SED) -e "s|\ target\@|$(SETTINGS_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
 	chmod +x $(SETTINGS_WRAPPER)
 
+QT_SETTINGS_TARGET = SettingsQt.exe
+QT_SETTINGS_WRAPPER = beagle-settings-qt
+QT_SETTINGS_CSFILES = $(srcdir)/SettingsQt.cs
+QT_SETTINGS_UIFILE = $(srcdir)/beagle-settings-qt.ui
+QT_SETTINGS_UI_CSFILE = $(srcdir)/beagle-settings-qt.cs
+QT_SETTINGS_ASSEMBLIES = -r:../Util/Util.dll -pkg:qyoto
+QT_SETTINGS_ICON = $(srcdir)/kerry.png
+
+$(QT_SETTINGS_UI_CSFILE): $(QT_SETTINGS_UIFILE)
+	uics $(QT_SETTINGS_UIFILE) -o $@
+
+$(QT_SETTINGS_TARGET): $(QT_SETTINGS_CSFILES) $(QT_SETTINGS_UI_CSFILE) $(LOCAL_ASSEMBLIES)
+	$(CSC) -out:$@ $(CSFLAGS) $(QT_SETTINGS_CSFILES) $(QT_SETTINGS_UI_CSFILE) $(ASSEMBLIES) $(QT_SETTINGS_ASSEMBLIES)
+
+$(QT_SETTINGS_WRAPPER): $(WRAPPER_IN)
+	$(WRAPPER_SED) -e "s|\ target\@|$(QT_SETTINGS_TARGET)|g" < $(srcdir)/$(WRAPPER_IN) > $@
+	chmod +x $(QT_SETTINGS_WRAPPER)
+
 TARGETS = 				\
 	$(INFO_TARGET)			\
 	$(SHUTDOWN_TARGET)		\
@@ -139,6 +157,10 @@
 TARGETS += $(SETTINGS_TARGET)
 endif
 
+if ENABLE_QT
+TARGETS += $(QT_SETTINGS_TARGET)
+endif
+
 if ENABLE_WV1
 TARGETS += $(DOC_EXTRACTOR_TARGET)
 endif
@@ -159,6 +181,10 @@
 BUILT_WRAPPERS += $(DOC_EXTRACTOR_WRAPPER)
 endif
 
+if ENABLE_QT
+BUILT_WRAPPERS += $(QT_SETTINGS_WRAPPER)
+endif
+
 PREBUILT_WRAPPERS =		\
 	beagle-index-info	\
 	beagle-ping		\
@@ -237,6 +263,9 @@
 	$(cron_SCRIPTS)			\
 	$(desktop_in_files)		\
 	$(desktop_DATA) 		\
+	$(QT_SETTINGS_CSFILES)		\
+	$(QT_SETTINGS_UIFILE)		\
+	$(QT_SETTINGS_ICON)		\
 	beagle-index-info		\
 	beagle-ping			\
 	beagle-status			\
@@ -250,6 +279,7 @@
 	$(CRAWL_WRAPPER)		\
 	$(desktop_DATA)		 	\
 	$(desktop_h_files)		\
+	$(QT_SETTINGS_UI_CSFILE)	\
 	settings.glade.h
 
 

Added: trunk/beagle/tools/SettingsQt.cs
==============================================================================
--- (empty file)
+++ trunk/beagle/tools/SettingsQt.cs	Tue Jan 22 00:29:37 2008
@@ -0,0 +1,327 @@
+using System;
+using System.Reflection;
+using System.Collections.Generic;
+using Qyoto; 
+using Ui;
+using Beagle.Util;
+
+// Assembly information
+[assembly: AssemblyTitle ("beagle-settings-qt")]
+[assembly: AssemblyDescription ("Qt interface to the Beagle configuration options.")]
+[assembly: AssemblyCopyright ("Copyright (C) 2007 Debajyoti Bera <dbera web gmail com>")]
+
+public class Settings {
+	public static void Main (string[] args)
+	{
+		if (Array.IndexOf (args, "--help") > -1)
+			PrintUsageAndExit ();
+
+		if (Array.IndexOf (args, "--version") > -1) {
+			VersionFu.PrintVersion ();
+			// Console.WriteLine (Qt.QT_VERSION_STR); // Uncomment when does not crash
+			Environment.Exit (0);
+		}
+
+		// FIXME: Cant seem to pass the args to Qt!
+		new QApplication(args);
+
+		MainForm mf = new MainForm(args);
+		mf.Show ();
+
+		QApplication.Exec();
+	}
+
+	public static void PrintUsageAndExit () 
+	{
+		VersionFu.PrintHeader ();
+
+		string usage =
+			"Usage: beagle-settings-qt [OPTIONS]\n\n" +
+			"Options:\n" +
+			"--general    : Open the page with general options.\n" +
+			"--indexing   : Open the page with indexing specific options.\n" +
+			"--backends   : Open the page with a list of backends to choose.\n" +
+			"--networking : Open the page with networking related options.\n\n";
+
+		Console.WriteLine (usage);
+
+		System.Environment.Exit (0);
+	}
+
+}
+
+// FIXME: Mark for translation
+
+public class MainForm : QDialog
+{
+	Dialog main;
+	Dictionary<string, QCheckBox> backend_checkboxes;
+
+	public MainForm (string[] args) : base ()
+	{
+		main = new Dialog ();
+		main.SetupUi (this);
+
+		// create the checkbox mapping
+		backend_checkboxes = new Dictionary<string, QCheckBox> (20);
+		backend_checkboxes ["Files"] = main.filesBackend;
+		backend_checkboxes ["KMail"] = main.kmailBackend;
+		backend_checkboxes ["EvolutionMail"] = main.evoBackend;
+		backend_checkboxes ["Thunderbird"] = main.tbirdBackend;
+		backend_checkboxes ["Kopete"] = main.kopeteBackend;
+		backend_checkboxes ["Konversation"] = main.konvBackend;
+		backend_checkboxes ["Pidgin"] = main.pidginBackend;
+		backend_checkboxes ["Empathy"] = main.empathyBackend;
+		backend_checkboxes ["KonquerorHistory"] = main.konqBackend;
+		backend_checkboxes ["KonqBookmark"] = main.kBookmarkBackend;
+		backend_checkboxes ["Opera"] = main.operaBackend;
+		backend_checkboxes ["IndexingService"] = main.ffBackend;
+		backend_checkboxes ["KOrganizer"] = main.korgBackend;
+		backend_checkboxes ["KNotes"] = main.knotesBackend;
+		backend_checkboxes ["KAddressBook"] = main.kaddrbookBackend;
+		backend_checkboxes ["Tomboy"] = main.tomboyBackend;
+		backend_checkboxes ["Labyrinth"] = main.labyrinthBackend;
+		backend_checkboxes ["EvolutionDataServer"] = main.edsBackend;
+		backend_checkboxes ["Akregator"] = main.akregatorBackend;
+		backend_checkboxes ["Blam"] = main.blamBackend;
+		backend_checkboxes ["Liferea"] = main.lifereaBackend;
+		backend_checkboxes ["documentation"] = main.docBackend;
+		backend_checkboxes ["applications"] = main.appBackend;
+		backend_checkboxes ["manpages"] = main.manpagesBackend;
+		backend_checkboxes ["monodoc"] = main.monodocBackend;
+
+		Connect (main.CancelButton, SIGNAL ("clicked()"), qApp, SLOT ("quit()"));
+		Connect (main.OkButton, SIGNAL ("clicked()"), this, SLOT ("saveSettings()"));
+		Connect (main.RootAddButton, SIGNAL ("clicked()"), this, SLOT ("showDirChooser()"));
+		Connect (main.RootRemoveButton, SIGNAL ("clicked()"), this, SLOT ("removeChosenDir()"));
+		Connect (main.ExcludeDirAddButton, SIGNAL ("clicked()"), this, SLOT ("addExcludeDir()"));
+		Connect (main.ExcludeDirRemoveButton, SIGNAL ("clicked()"), this, SLOT ("removeExcludeDir()"));
+		Connect (main.PatternAdd, SIGNAL ("clicked()"), this, SLOT ("addNamePattern()"));
+		Connect (main.PatternRemove, SIGNAL ("clicked()"), this, SLOT ("removeNamePattern()"));
+		Connect (main.MailFolderAdd, SIGNAL ("clicked()"), this, SLOT ("addFolderPattern()"));
+		Connect (main.MailFolderRemove, SIGNAL ("clicked()"), this, SLOT ("removeFolderPattern()"));
+
+		LoadSettings ();
+
+		if (args.Length == 0)
+			return;
+
+		if (Array.IndexOf (args, "--indexing") != -1)
+			main.TabWidget.SetCurrentWidget (main.IndexingTab);
+		else if (Array.IndexOf (args, "--backends") != -1)
+			main.TabWidget.SetCurrentWidget (main.BackendsTab);
+		else if (Array.IndexOf (args, "--networking") != -1)
+			main.TabWidget.SetCurrentWidget (main.NetworkingTab);
+		else
+			main.TabWidget.SetCurrentWidget (main.GeneralTab);
+	}
+
+	private void LoadSettings ()
+	{
+		Console.WriteLine ("Loading settings ...");
+
+		Config fsq_config = Conf.Get (Conf.Names.FilesQueryableConfig);
+		Config daemon_config = Conf.Get (Conf.Names.DaemonConfig);
+		Config networking_config = Conf.Get (Conf.Names.NetworkingConfig);
+
+		main.IndexHomeDirOption.Checked = fsq_config.GetOption (Conf.Names.IndexHomeDir, true);
+		main.IndexOnBatteryOption.Checked =  daemon_config.GetOption (Conf.Names.IndexOnBattery, false);
+		main.IndexScreenSaverOption.Checked = daemon_config.GetOption (Conf.Names.IndexFasterOnScreensaver, true);
+                main.WebinterfaceOption.Checked = networking_config.GetOption ("WebInterface", false);
+
+		List<string[]> values = fsq_config.GetListOptionValues (Conf.Names.Roots);
+		if (values != null)
+			foreach (string[] root in values)
+				main.RootsList.AddItem (root [0]);
+
+		values = fsq_config.GetListOptionValues (Conf.Names.ExcludeSubdirectory);
+		if (values != null)
+			foreach (string[] subdir in values)
+				main.ExcludeDirList.AddItem (subdir [0]);
+
+		values = fsq_config.GetListOptionValues (Conf.Names.ExcludePattern);
+		if (values != null)
+			foreach (string[] pattern in values)
+				main.PatternList.AddItem (pattern [0]);
+
+		values = daemon_config.GetListOptionValues (Conf.Names.ExcludeMailfolder);
+		if (values != null)
+			foreach (string[] mailfolder in values)
+				main.MailFolderList.AddItem (mailfolder [0]);
+
+		values = daemon_config.GetListOptionValues (Conf.Names.DeniedBackends);
+		foreach (QCheckBox backend_box in backend_checkboxes.Values)
+			backend_box.Checked = true;
+		if (values != null) {
+			foreach (string[] backend in values) {
+				if (! backend_checkboxes.ContainsKey (backend [0]))
+					continue;
+				backend_checkboxes [backend [0]].Checked = false;
+			}
+		}
+	}
+
+	[Q_SLOT ("void saveSettings()")]
+	private void SaveSettings ()
+	{
+		Console.WriteLine ("Saving settings, please wait ...");
+
+		Config fsq_config = Conf.Get (Conf.Names.FilesQueryableConfig);
+		Config daemon_config = Conf.Get (Conf.Names.DaemonConfig);
+		Config networking_config = Conf.Get (Conf.Names.NetworkingConfig);
+
+		daemon_config.SetOption (Conf.Names.IndexOnBattery, main.IndexOnBatteryOption.Checked);
+		daemon_config.SetOption (Conf.Names.IndexFasterOnScreensaver, main.IndexScreenSaverOption.Checked);
+		fsq_config.SetOption (Conf.Names.IndexHomeDir, main.IndexHomeDirOption.Checked);
+		networking_config.SetOption ("WebInterface", main.WebinterfaceOption.Checked);
+
+		List<string[]> roots = new List<string[]> (main.RootsList.Count);
+		List<string[]> denied_backends = new List<string[]> ();
+		List<string[]> exclude_dirs = new List<string[]> (main.ExcludeDirList.Count);
+		List<string[]> exclude_patterns = new List<string[]> (main.PatternList.Count);
+		List<string[]> exclude_folders = new List<string[]> (main.MailFolderList.Count);
+
+		for (int i = 0; i < main.RootsList.Count; ++ i)
+			roots.Add (new string[] {main.RootsList.Item (i).Text ()});
+
+		foreach (KeyValuePair<string, QCheckBox> backend_box_pair in backend_checkboxes) {
+			if (backend_box_pair.Value.Checked)
+				continue;
+			denied_backends.Add (new string[] { backend_box_pair.Key });
+		}
+
+		for (int i = 0; i < main.ExcludeDirList.Count; ++ i)
+			exclude_dirs.Add (new string[] {main.ExcludeDirList.Item (i).Text ()});
+
+		for (int i = 0; i < main.PatternList.Count; ++ i)
+			exclude_patterns.Add (new string[] {main.PatternList.Item (i).Text ()});
+
+		for (int i = 0; i < main.MailFolderList.Count; ++ i)
+			exclude_folders.Add (new string[] {main.MailFolderList.Item (i).Text ()});
+
+		if (roots.Count > 0)
+			fsq_config.SetListOptionValues (Conf.Names.Roots, roots);
+		if (denied_backends.Count > 0)
+			daemon_config.SetListOptionValues (Conf.Names.DeniedBackends, denied_backends);
+		if (exclude_dirs.Count > 0)
+			fsq_config.SetListOptionValues (Conf.Names.ExcludeSubdirectory, exclude_dirs);
+		if (exclude_patterns.Count > 0)
+			fsq_config.SetListOptionValues (Conf.Names.ExcludePattern, exclude_patterns);
+		if (exclude_folders.Count > 0)
+			daemon_config.SetListOptionValues (Conf.Names.ExcludeMailfolder, exclude_folders);
+
+		Conf.Save (fsq_config);
+		Conf.Save (daemon_config);
+		Conf.Save (networking_config);
+
+		QApplication.Quit ();
+	}
+
+	[Q_SLOT ("showDirChooser()")]
+	private void ShowDirChooser ()
+	{
+		string new_root = QFileDialog.GetExistingDirectory (this, "Choose new path for beagle to index", "/");
+		if (new_root == null)
+			return;
+		Console.WriteLine ("Selected new root '{0}'", new_root);
+
+		// Check if the new_root is already part of some root in the list
+		bool seen = false;
+		for (int i = 0; i < main.RootsList.Count; ++ i) {
+			Console.WriteLine ("Checking against {0}", main.RootsList.Item (i).Text ());
+			if (main.RootsList.Item (i).Text ().StartsWith (new_root)) {
+				seen = true;
+				QMessageBox.Critical (this, "Invalid directory", "The selected path wasn't added. The list contains a path that is included in the new path.", "OK");
+			} else if (new_root.StartsWith (main.RootsList.Item (i).Text ())) {
+				seen = true;
+				QMessageBox.Critical (this, "Invalid directory", "The selected path wasn't added. The path is already included in one of the paths in the list.", "OK");
+			}
+		}
+
+		if (! seen)
+			main.RootsList.AddItem (new_root);
+	}
+
+	[Q_SLOT ("removeChosenDir()")]
+	private void RemoveSelectedDir ()
+	{
+		List<QListWidgetItem> selected_paths = main.RootsList.SelectedItems ();
+		if (selected_paths == null || selected_paths.Count == 0)
+			return;
+
+		main.RootsList.TakeItem (main.RootsList.Row (selected_paths [0]));
+	}
+
+	[Q_SLOT ("addExcludeDir()")]
+	private void AddExcludeDir ()
+	{
+		string dir = QFileDialog.GetExistingDirectory (this, "Select path to exclude", PathFinder.HomeDir);
+		if (dir == null)
+			return;
+		Console.WriteLine ("Excluding '{0}'", dir);
+
+		// Check if the new dir is already part of some excluded directory in the list
+		bool seen = false;
+		for (int i = 0; i < main.ExcludeDirList.Count; ++ i) {
+			if (main.ExcludeDirList.Item (i).Text ().StartsWith (dir)) {
+				seen = true;
+				QMessageBox.Critical (this, "Invalid directory", "The selected path wasn't added. The list contains a path that is included in the new path.", "OK");
+			} else if (dir.StartsWith (main.ExcludeDirList.Item (i).Text ())) {
+				seen = true;
+				QMessageBox.Critical (this, "Invalid directory", "The selected path wasn't added. The path is already included in one of the paths in the list.", "OK");
+			}
+		}
+
+		if (! seen)
+			main.ExcludeDirList.AddItem (dir);
+	}
+
+	[Q_SLOT ("removeExcludeDir()")]
+	private void RemoveExcludeDir ()
+	{
+		List<QListWidgetItem> dirs = main.ExcludeDirList.SelectedItems ();
+		if (dirs == null || dirs.Count == 0)
+			return;
+
+		main.ExcludeDirList.TakeItem (main.ExcludeDirList.Row (dirs [0]));
+	}
+
+	[Q_SLOT ("addNamePattern()")]
+	private void AddNamePattern ()
+	{
+		string pattern = main.PatternLineEdit.Text;
+		if (pattern == String.Empty)
+			return;
+		main.PatternList.AddItem (pattern);
+	}
+
+	[Q_SLOT ("removeNamePattern()")]
+	private void RemoveNamePattern ()
+	{
+		List<QListWidgetItem> patterns = main.PatternList.SelectedItems ();
+		if (patterns == null || patterns.Count == 0)
+			return;
+
+		main.PatternList.TakeItem (main.PatternList.Row (patterns [0]));
+	}
+
+	[Q_SLOT ("addFolderPattern()")]
+	private void AddFolderPattern ()
+	{
+		string folder = main.MailFolderLineEdit.Text;
+		if (folder == String.Empty)
+			return;
+		main.MailFolderList.AddItem (folder);
+	}
+
+	[Q_SLOT ("removeFolderPattern()")]
+	private void RemoveFolderPattern ()
+	{
+		List<QListWidgetItem> folders = main.MailFolderList.SelectedItems ();
+		if (folders == null || folders.Count == 0)
+			return;
+
+		main.MailFolderList.TakeItem (main.MailFolderList.Row (folders [0]));
+	}
+}
+

Added: trunk/beagle/tools/beagle-settings-qt.ui
==============================================================================
--- (empty file)
+++ trunk/beagle/tools/beagle-settings-qt.ui	Tue Jan 22 00:29:37 2008
@@ -0,0 +1,998 @@
+<ui version="4.0" >
+ <author>D Bera &lt;dbera web gmail com></author>
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>760</width>
+    <height>682</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>Beagle Settings</string>
+  </property>
+  <property name="windowIcon" >
+   <iconset>kerry.png</iconset>
+  </property>
+  <property name="sizeGripEnabled" >
+   <bool>true</bool>
+  </property>
+  <layout class="QVBoxLayout" >
+   <item>
+    <widget class="QTabWidget" name="TabWidget" >
+     <property name="currentIndex" >
+      <number>3</number>
+     </property>
+     <widget class="QWidget" name="GeneralTab" >
+      <attribute name="title" >
+       <string>General</string>
+      </attribute>
+      <layout class="QVBoxLayout" >
+       <item>
+        <widget class="QCheckBox" name="AutoStartOption" >
+         <property name="enabled" >
+          <bool>false</bool>
+         </property>
+         <property name="toolTip" >
+          <string>Disabled until C# bindings for KDE is available</string>
+         </property>
+         <property name="text" >
+          <string>Start indexing service at startup</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="IndexHomeDirOption" >
+         <property name="text" >
+          <string>Index home directory</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="IndexOnBatteryOption" >
+         <property name="text" >
+          <string>Index on battery</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QCheckBox" name="IndexScreenSaverOption" >
+         <property name="text" >
+          <string>Index faster while screensaver is turned on</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="IndexingTab" >
+      <attribute name="title" >
+       <string>Indexing</string>
+      </attribute>
+      <layout class="QVBoxLayout" >
+       <item>
+        <widget class="QGroupBox" name="groupBox" >
+         <property name="sizePolicy" >
+          <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize" >
+          <size>
+           <width>0</width>
+           <height>100</height>
+          </size>
+         </property>
+         <property name="title" >
+          <string>Additional paths to index</string>
+         </property>
+         <property name="alignment" >
+          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <widget class="QListWidget" name="RootsList" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="MinimumExpanding" hsizetype="Minimum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize" >
+             <size>
+              <width>500</width>
+              <height>80</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" >
+            <item>
+             <widget class="QPushButton" name="RootAddButton" >
+              <property name="sizePolicy" >
+               <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize" >
+               <size>
+                <width>75</width>
+                <height>32</height>
+               </size>
+              </property>
+              <property name="text" >
+               <string>Add</string>
+              </property>
+              <property name="autoDefault" >
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="RootRemoveButton" >
+              <property name="sizePolicy" >
+               <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize" >
+               <size>
+                <width>75</width>
+                <height>32</height>
+               </size>
+              </property>
+              <property name="text" >
+               <string>Remove</string>
+              </property>
+              <property name="autoDefault" >
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Vertical</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>20</width>
+                <height>40</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_2" >
+         <property name="sizePolicy" >
+          <sizepolicy vsizetype="Expanding" hsizetype="Preferred" >
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="minimumSize" >
+          <size>
+           <width>0</width>
+           <height>100</height>
+          </size>
+         </property>
+         <property name="title" >
+          <string>Directories to exclude</string>
+         </property>
+         <property name="alignment" >
+          <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <widget class="QListWidget" name="ExcludeDirList" >
+            <property name="sizePolicy" >
+             <sizepolicy vsizetype="MinimumExpanding" hsizetype="Minimum" >
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+            <property name="minimumSize" >
+             <size>
+              <width>500</width>
+              <height>80</height>
+             </size>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <layout class="QVBoxLayout" >
+            <item>
+             <widget class="QPushButton" name="ExcludeDirAddButton" >
+              <property name="sizePolicy" >
+               <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize" >
+               <size>
+                <width>75</width>
+                <height>32</height>
+               </size>
+              </property>
+              <property name="text" >
+               <string>Add</string>
+              </property>
+              <property name="autoDefault" >
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QPushButton" name="ExcludeDirRemoveButton" >
+              <property name="sizePolicy" >
+               <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                <horstretch>0</horstretch>
+                <verstretch>0</verstretch>
+               </sizepolicy>
+              </property>
+              <property name="minimumSize" >
+               <size>
+                <width>75</width>
+                <height>32</height>
+               </size>
+              </property>
+              <property name="text" >
+               <string>Remove</string>
+              </property>
+              <property name="autoDefault" >
+               <bool>false</bool>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Vertical</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>20</width>
+                <height>40</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <layout class="QHBoxLayout" >
+         <item>
+          <widget class="QGroupBox" name="groupBox_10" >
+           <property name="title" >
+            <string>Filename patterns to exclude</string>
+           </property>
+           <layout class="QVBoxLayout" >
+            <item>
+             <layout class="QHBoxLayout" >
+              <item>
+               <widget class="QLineEdit" name="PatternLineEdit" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="PatternAdd" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>30</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="font" >
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="text" >
+                 <string>+</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="PatternRemove" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>30</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="font" >
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="text" >
+                 <string>-</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <widget class="QListWidget" name="PatternList" />
+            </item>
+           </layout>
+          </widget>
+         </item>
+         <item>
+          <widget class="QGroupBox" name="groupBox_11" >
+           <property name="title" >
+            <string>Email folders to exclude</string>
+           </property>
+           <layout class="QVBoxLayout" >
+            <item>
+             <layout class="QHBoxLayout" >
+              <item>
+               <widget class="QLineEdit" name="MailFolderLineEdit" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="MinimumExpanding" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="MailFolderAdd" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>30</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="font" >
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="text" >
+                 <string>+</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QPushButton" name="MailFolderRemove" >
+                <property name="sizePolicy" >
+                 <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
+                  <horstretch>0</horstretch>
+                  <verstretch>0</verstretch>
+                 </sizepolicy>
+                </property>
+                <property name="maximumSize" >
+                 <size>
+                  <width>30</width>
+                  <height>16777215</height>
+                 </size>
+                </property>
+                <property name="font" >
+                 <font>
+                  <weight>75</weight>
+                  <bold>true</bold>
+                 </font>
+                </property>
+                <property name="text" >
+                 <string>-</string>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </item>
+            <item>
+             <widget class="QListWidget" name="MailFolderList" />
+            </item>
+           </layout>
+          </widget>
+         </item>
+        </layout>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="BackendsTab" >
+      <property name="styleSheet" >
+       <string/>
+      </property>
+      <attribute name="title" >
+       <string>Backends</string>
+      </attribute>
+      <layout class="QVBoxLayout" >
+       <property name="bottomMargin" >
+        <number>0</number>
+       </property>
+       <item>
+        <widget class="QCheckBox" name="filesBackend" >
+         <property name="text" >
+          <string>Files</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_3" >
+         <property name="title" >
+          <string>Email backends </string>
+         </property>
+         <property name="flat" >
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <layout class="QHBoxLayout" >
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="kmailBackend" >
+              <property name="text" >
+               <string>KMail</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="evoBackend" >
+              <property name="text" >
+               <string>Evolution</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="tbirdBackend" >
+              <property name="text" >
+               <string>Thunderbird</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_4" >
+         <property name="title" >
+          <string>IM backends </string>
+         </property>
+         <property name="flat" >
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <layout class="QHBoxLayout" >
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="kopeteBackend" >
+              <property name="text" >
+               <string>Kopeta</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="konvBackend" >
+              <property name="text" >
+               <string>Konversation</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="pidginBackend" >
+              <property name="text" >
+               <string>Pidgin</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="empathyBackend" >
+              <property name="text" >
+               <string>Empathy</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_5" >
+         <property name="sizePolicy" >
+          <sizepolicy vsizetype="Preferred" hsizetype="MinimumExpanding" >
+           <horstretch>0</horstretch>
+           <verstretch>0</verstretch>
+          </sizepolicy>
+         </property>
+         <property name="title" >
+          <string>Browsing history and bookmark backends </string>
+         </property>
+         <property name="flat" >
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <layout class="QHBoxLayout" >
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="konqBackend" >
+              <property name="text" >
+               <string>Konqueror</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="kBookmarkBackend" >
+              <property name="text" >
+               <string>Konqueror bookmark</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="ffBackend" >
+              <property name="text" >
+               <string>Firefox and Epiphany</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="operaBackend" >
+              <property name="text" >
+               <string>Opera</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_6" >
+         <property name="title" >
+          <string>PIM backends </string>
+         </property>
+         <property name="flat" >
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <layout class="QHBoxLayout" >
+            <item>
+             <spacer>
+              <property name="orientation" >
+               <enum>Qt::Horizontal</enum>
+              </property>
+              <property name="sizeHint" >
+               <size>
+                <width>40</width>
+                <height>20</height>
+               </size>
+              </property>
+             </spacer>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="korgBackend" >
+              <property name="text" >
+               <string>KOrganizer</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="knotesBackend" >
+              <property name="text" >
+               <string>KNotes</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="kaddrbookBackend" >
+              <property name="text" >
+               <string>KAddressbook</string>
+              </property>
+             </widget>
+            </item>
+            <item>
+             <widget class="QCheckBox" name="tomboyBackend" >
+              <property name="text" >
+               <string>Tomboy</string>
+              </property>
+             </widget>
+            </item>
+           </layout>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="labyrinthBackend" >
+            <property name="text" >
+             <string>Labyrinth</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="edsBackend" >
+            <property name="text" >
+             <string>EvolutionDataServer</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_7" >
+         <property name="title" >
+          <string>RSS Reader backends </string>
+         </property>
+         <property name="flat" >
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" >
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="akregatorBackend" >
+            <property name="text" >
+             <string>Akregator (v1.2 or less)</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="blamBackend" >
+            <property name="text" >
+             <string>Blam</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="lifereaBackend" >
+            <property name="text" >
+             <string>Liferea</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <widget class="QGroupBox" name="groupBox_8" >
+         <property name="title" >
+          <string>System backends </string>
+         </property>
+         <property name="flat" >
+          <bool>true</bool>
+         </property>
+         <layout class="QHBoxLayout" >
+          <item>
+           <spacer>
+            <property name="orientation" >
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" >
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="docBackend" >
+            <property name="text" >
+             <string>Documentation</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="appBackend" >
+            <property name="text" >
+             <string>Application</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="manpagesBackend" >
+            <property name="text" >
+             <string>Manpages</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QCheckBox" name="monodocBackend" >
+            <property name="text" >
+             <string>Monodoc</string>
+            </property>
+           </widget>
+          </item>
+         </layout>
+        </widget>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Horizontal</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>40</width>
+           <height>20</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+     <widget class="QWidget" name="NetworkingTab" >
+      <property name="enabled" >
+       <bool>true</bool>
+      </property>
+      <attribute name="title" >
+       <string>Networking</string>
+      </attribute>
+      <layout class="QVBoxLayout" >
+       <item>
+        <widget class="QCheckBox" name="WebinterfaceOption" >
+         <property name="text" >
+          <string>Enable web interface to beagle search service</string>
+         </property>
+        </widget>
+       </item>
+       <item>
+        <spacer>
+         <property name="orientation" >
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" >
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
+      </layout>
+     </widget>
+    </widget>
+   </item>
+   <item>
+    <spacer>
+     <property name="orientation" >
+      <enum>Qt::Vertical</enum>
+     </property>
+     <property name="sizeHint" >
+      <size>
+       <width>702</width>
+       <height>16</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
+   <item>
+    <layout class="QHBoxLayout" >
+     <item>
+      <spacer>
+       <property name="orientation" >
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" >
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="OkButton" >
+       <property name="text" >
+        <string>OK</string>
+       </property>
+       <property name="autoDefault" >
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QPushButton" name="CancelButton" >
+       <property name="text" >
+        <string>Cancel</string>
+       </property>
+       <property name="autoDefault" >
+        <bool>false</bool>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <tabstops>
+  <tabstop>TabWidget</tabstop>
+  <tabstop>AutoStartOption</tabstop>
+  <tabstop>IndexHomeDirOption</tabstop>
+  <tabstop>IndexOnBatteryOption</tabstop>
+  <tabstop>IndexScreenSaverOption</tabstop>
+  <tabstop>RootAddButton</tabstop>
+  <tabstop>RootsList</tabstop>
+  <tabstop>RootRemoveButton</tabstop>
+  <tabstop>ExcludeDirAddButton</tabstop>
+  <tabstop>ExcludeDirList</tabstop>
+  <tabstop>ExcludeDirRemoveButton</tabstop>
+  <tabstop>PatternLineEdit</tabstop>
+  <tabstop>PatternAdd</tabstop>
+  <tabstop>PatternRemove</tabstop>
+  <tabstop>PatternList</tabstop>
+  <tabstop>MailFolderLineEdit</tabstop>
+  <tabstop>MailFolderAdd</tabstop>
+  <tabstop>MailFolderRemove</tabstop>
+  <tabstop>MailFolderList</tabstop>
+  <tabstop>filesBackend</tabstop>
+  <tabstop>kmailBackend</tabstop>
+  <tabstop>evoBackend</tabstop>
+  <tabstop>tbirdBackend</tabstop>
+  <tabstop>kopeteBackend</tabstop>
+  <tabstop>konvBackend</tabstop>
+  <tabstop>pidginBackend</tabstop>
+  <tabstop>empathyBackend</tabstop>
+  <tabstop>konqBackend</tabstop>
+  <tabstop>kBookmarkBackend</tabstop>
+  <tabstop>ffBackend</tabstop>
+  <tabstop>operaBackend</tabstop>
+  <tabstop>korgBackend</tabstop>
+  <tabstop>knotesBackend</tabstop>
+  <tabstop>kaddrbookBackend</tabstop>
+  <tabstop>tomboyBackend</tabstop>
+  <tabstop>labyrinthBackend</tabstop>
+  <tabstop>edsBackend</tabstop>
+  <tabstop>akregatorBackend</tabstop>
+  <tabstop>blamBackend</tabstop>
+  <tabstop>lifereaBackend</tabstop>
+  <tabstop>docBackend</tabstop>
+  <tabstop>appBackend</tabstop>
+  <tabstop>manpagesBackend</tabstop>
+  <tabstop>monodocBackend</tabstop>
+  <tabstop>WebinterfaceOption</tabstop>
+  <tabstop>OkButton</tabstop>
+  <tabstop>CancelButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+ <designerdata>
+  <property name="gridDeltaX" >
+   <number>10</number>
+  </property>
+  <property name="gridDeltaY" >
+   <number>10</number>
+  </property>
+  <property name="gridSnapX" >
+   <bool>false</bool>
+  </property>
+  <property name="gridSnapY" >
+   <bool>false</bool>
+  </property>
+  <property name="gridVisible" >
+   <bool>true</bool>
+  </property>
+ </designerdata>
+</ui>

Added: trunk/beagle/tools/kerry.png
==============================================================================
Binary file. No diff available.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]