Example #1
0
        /// <summary>
        /// Initalize Gtk stuff
        /// </summary>
        private void GtkDBusInit()
        {
            launcher = LauncherEntry.GetForDesktopId("keepass2.desktop");
            var rootMenuItem    = new Dbusmenu.Menuitem();
            var trayContextMenu = pluginHost.MainWindow.TrayContextMenu;
            // make copy of item list to prevent list changed exception when iterating
            var menuItems =
                new System.Windows.Forms.ToolStripItem[trayContextMenu.Items.Count];

            trayContextMenu.Items.CopyTo(menuItems, 0);
            trayContextMenu.ItemAdded += (sender, e) =>
                                         DBusBackgroundWorker.InvokeGtkThread(() =>
                                                                              ConvertAndAddMenuItem(e.Item, rootMenuItem));
            foreach (System.Windows.Forms.ToolStripItem item in menuItems)
            {
                if (item.Name == "m_ctxTrayTray" || item.Name == "m_ctxTrayFileExit")
                {
                    continue;
                }
                ConvertAndAddMenuItem(item, rootMenuItem);
            }
            // the launcher may not be listening yet, so we delay setting the properties
            // to give it extra time
            finishInitDelaytimer.Tick += (sender, e) =>
            {
                finishInitDelaytimer.Stop();
                DBusBackgroundWorker.InvokeGtkThread(() =>
                                                     launcher.Quicklist = rootMenuItem);
            };
            finishInitDelaytimer.Interval = 1000;
            finishInitDelaytimer.Start();
        }
Example #2
0
 /// <summary>
 ///     Item selected on the tree
 /// </summary>
 private void tProgs_AfterSelect(object sender, TreeViewEventArgs e)
 {
     if (e.Node != null)
     {
         SelectedEntry = e.Node.Tag as LauncherEntry;
     }
     else
     {
         SelectedEntry = null;
     }
 }
Example #3
0
        private void bOk_Click(object sender, System.EventArgs e)
        {
            DialogResult = DialogResult.OK;

            if (m_Entry == null)
            {
                m_Entry = new LauncherEntry();
            }

            m_Entry.Path = labFile.Text;
            m_Entry.Name = txName.Text;

            if (txArgs.Text.Length > 0)
            {
                m_Entry.Arguments = txArgs.Text;
            }

            m_Entry.RunOnStartup = chkStartup.Checked;
        }