Attached is a configure.xml(.txt) that creates a "load color scheme" menu. It also contains a mod that instead of loading a new css via a link, it now copies the css file and does a toolbar reload(). The reason is that even though the color scheme would be implemented, until the toolbar is actually reloaded, it doesn't load all the css stuff for things like the calendar, help window..

Monty


Monty Scroggins wrote:

Kim Gr�sman wrote:

Hi Monty,

Nice!

It'd be cool if we could put them in a submenu called Skins or Themes, so
it's more obvious what they do.


Yeah I need to work on that...

<search function="configureDQSD">
  <name>Configure DQSD</name>
  <description>
    Configure DQSD<br/>
  </description>
  <link></link>
  <category nomenu="true">Configure</category>
  <contributor>Brent Beardsley</contributor>

  <script><![CDATA[
    var CONFIGURE_LOCAL_ALIASES_NAME = 
    {
      en: "Local Aliases..."
    };

    var CONFIGURE_LOCAL_ALIASES_DESCRIPTION = 
    {
      en: "Edit local aliases"
    };
    
    var CONFIGURE_LOCAL_PREFERENCES_NAME = 
    {
      en: "Local Preferences..."
    };

    var CONFIGURE_LOCAL_PREFERENCES_DESCRIPTION = 
    {
      en: "Edit local preferences"
    }

    var CONFIGURE_LOCAL_STYLESHEET_NAME = 
        {
          en: "Local Stylesheet..."
        }

        var CONFIGURE_LOCAL_STYLESHEET_DESCRIPTION = 
        {
          en: "Edit local stylesheet"
        }

    var CONFIGURE_SYSTEM_ALIASES_NAME = 
    {
      en: "System Aliases..."
    };

    var CONFIGURE_SYSTEM_ALIASES_DESCRIPTION = 
    {
      en: "Edit system aliases"
    };
    
    var CONFIGURE_SYSTEM_PREFERENCES_NAME = 
    {
      en: "System Preferences..."
    };

    var CONFIGURE_SYSTEM_PREFERENCES_DESCRIPTION = 
    {
      en: "Edit system preferences"
    }

    var CONFIGURE_RELOAD_DQSD_NAME = 
    {
      en: "Reload..."
    };

    var CONFIGURE_RELOAD_DQSD_DESCRIPTION =
    {
      en: "Reload Quick Search Deskbar"
    };

    var CONFIGURE_RELOAD_DQSD_PROMPT =
    {
      en: "Are you sure you want to reload the Quick Search Deskbar?"
    };

    var CONFIGURE_INSTALLED_ADDONS_NAME = 
    {
      en: "Installed Addons"
    };

        function editSearchFile(strFilename)
        {
                return editConfigFile(strFilename);
        }

    function editCSSFile(strFilename)
        {
                var myEditor = (typeof cssEditorExe != "undefined") ? 
cssEditorExe : "notepad";
                var install_dir = ".";
                if (ensureLauncher())
                {
                        install_dir = DQSDLauncher.InstallationDirectory;
                }
                var cmd = "\""+myEditor+"\" \""+install_dir+"\\"+strFilename + 
"\"";
                openDocument(cmd);
                return "";
        }

        function editConfigFile(strFilename)
        {
                var myEditor = (typeof configureEditorExe != "undefined") ? 
configureEditorExe : "notepad";
                var install_dir = ".";
                if (ensureLauncher())
                {
                        install_dir = DQSDLauncher.InstallationDirectory;
                }
                var cmd = "\""+myEditor+"\" \""+install_dir+"\\"+strFilename + 
"\"";
                openDocument(cmd);
                return "";
        }

        function buildConfigureMenu(mb, hmenu)
        {
                mb.AppendMenuItem( local(CONFIGURE_LOCAL_ALIASES_NAME), 
"editConfigFile(\"localaliases.txt\")", 
local(CONFIGURE_LOCAL_ALIASES_DESCRIPTION), hmenu);
                mb.AppendMenuItem( local(CONFIGURE_LOCAL_PREFERENCES_NAME), 
"editConfigFile(\"localprefs.js\")", 
local(CONFIGURE_LOCAL_PREFERENCES_DESCRIPTION), hmenu);
                mb.AppendMenuItem( local(CONFIGURE_LOCAL_STYLESHEET_NAME), 
"editCSSFile(\"localsearch.css\")", 
local(CONFIGURE_LOCAL_STYLESHEET_DESCRIPTION), hmenu);
           var confthememenu = mb.InsertSubMenu("Load color scheme", 4);
                mb.AppendMenuItem( "Blue", 
"loadcssfile(\"localsearch_blue.css\")", "Load the blue color scheme", 
confthememenu);
                mb.AppendMenuItem( "Olive", 
"loadcssfile(\"localsearch_olive.css\")", "Load the olive color scheme", 
confthememenu);
                mb.AppendMenuItem( "Silver", 
"loadcssfile(\"localsearch_silver.css\")", "Load the silver color scheme", 
confthememenu);
                mb.AppendSeparator(hmenu);
                mb.AppendMenuItem( local(CONFIGURE_SYSTEM_ALIASES_NAME), 
"editConfigFile(\"aliases.txt\")", local(CONFIGURE_SYSTEM_ALIASES_DESCRIPTION), 
hmenu);
                mb.AppendMenuItem( local(CONFIGURE_SYSTEM_PREFERENCES_NAME), 
"editConfigFile(\"preferences.js\")", 
local(CONFIGURE_SYSTEM_PREFERENCES_DESCRIPTION), hmenu);     
                mb.AppendSeparator(hmenu);
                mb.AppendMenuItem( local(CONFIGURE_RELOAD_DQSD_NAME), "if 
(confirm('"+local(CONFIGURE_RELOAD_DQSD_PROMPT)+"')) reload();", 
local(CONFIGURE_RELOAD_DQSD_DESCRIPTION), hmenu);

                ensureLauncher();
                var addonFolders = 
getFolders(DQSDLauncher.InstallationDirectory+"\\addons\\");
                var installedAddons = null;
                if (addonFolders != "") {
                        installedAddons = addonFolders.split('\n');
                        if (installedAddons.length > 0 && installedAddons[0] == 
".") {
                                installedAddons = installedAddons.slice(1);
                        }
                } else {
                        installedAddons = new Array();
                }

                if (installedAddons.length > 0) {
                        mb.AppendSeparator(hmenu);
                        var haddons = 
mb.AppendSubMenu(local(CONFIGURE_INSTALLED_ADDONS_NAME)+" 
("+installedAddons.length+")", hmenu);
                        for (var i=0; i < installedAddons.length; i++) {
                                mb.AppendMenuItem(installedAddons[i], "", 
installedAddons[i], haddons);
                                mb.DisableMenuItem(i, haddons);
                        }
                }

        }
        function loadcssfile (cssfilename)
        {
           var install_dir = DQSDLauncher.InstallationDirectory;
      var cssContent=readFile(install_dir+'\\'+cssfilename);
      writeFile(install_dir+'\\localsearch.css', cssContent);
           reload();
        }
        
        function configureDQSD(q)
        {
          // build the menu
          var mb = new ActiveXObject("DQSDTools.MenuBuilder");
          if (mb != null) {
            // Align the menu with the button
            mb.HorizontalAlignment = ( buttonalign == 'left' ? 1 : 2 ); // 1 = 
left, 2 = right (default)

            var hmenu = 0;
            buildConfigureMenu(mb, hmenu);
            var fn = mb.Display(document);
            if (fn) {
              eval(fn);
            }
            mb = null;
          }
        }

        function configureMenuHook(mb)
        {
                var confhmenu = mb.InsertSubMenu("Configure", 2);
                buildConfigureMenu(mb, confhmenu);
        }
        
        registerMenuHook(configureMenuHook);
    ]]>
  </script>
</search>

Reply via email to