public static Gtk.AccelGroup MenuGetAccelGroup(Gtk.Menu menu) { IntPtr raw_ret = gnome_popup_menu_get_accel_group(menu == null ? IntPtr.Zero : menu.Handle); Gtk.AccelGroup ret = GLib.Object.GetObject(raw_ret) as Gtk.AccelGroup; return(ret); }
public GlobalKeybinder (Gtk.AccelGroup accel_group) { this.accel_group = accel_group; fake_menu = new Gtk.Menu (); fake_menu.AccelGroup = accel_group; }
public GlobalKeybinder(Gtk.AccelGroup accel_group) { this.accel_group = accel_group; fake_menu = new Gtk.Menu(); fake_menu.AccelGroup = accel_group; }
public static Gtk.AccelGroup FromAccelClosure(IntPtr closure) { IntPtr raw_ret = gtk_accel_group_from_accel_closure(closure); Gtk.AccelGroup ret = GLib.Object.GetObject(raw_ret) as Gtk.AccelGroup; return(ret); }
public PasswordEntry() { autoReset = new AutoResetEvent(false); Title = Catalog.GetString("Please enter the password"); Gtk.VBox pwbox = new Gtk.VBox(false, 6); pwbox.PackStart(new Gtk.Label(Catalog.GetString("Please enter the password:"******""; pwbox.PackStart(pw); pw2 = new Gtk.Entry(); // set password style: pw2.InvisibleChar = '*'; pw2.Visibility = false; pw2.Text = ""; pwbox.PackStart(pw2); pw.Changed += PasswordChanged; pw2.Changed += PasswordChanged; match_label = new Gtk.Label(); match_label.Markup = Catalog.GetString(AddinPreferences.MATCH_TEXT); pwbox.PackStart(match_label); Gtk.Button button = (Gtk.Button)AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok); button.CanDefault = true; //button.Show(); pwbox.PackStart(button); //this.VBox.PackStart(button); Gtk.AccelGroup accel_group = new Gtk.AccelGroup(); AddAccelGroup(accel_group); button.AddAccelerator("activate", accel_group, (uint)Gdk.Key.Escape, 0, 0); AddActionWidget(button, Gtk.ResponseType.Ok); DefaultResponse = Gtk.ResponseType.Ok; accel_group.AccelActivate += OnAction; Response += OnResponse; DeleteEvent += new Gtk.DeleteEventHandler(PasswordEntry_DeleteEvent); pwbox.ShowAll(); this.VBox.PackStart(pwbox); // show() must happen on ui thread Gtk.Application.Invoke(RunInUiThread); }
public static void FillMenu(Gtk.MenuShell menu_shell, Gnome.UIInfo uiinfo, Gtk.AccelGroup accel_group, bool uline_accels, int pos) { IntPtr native_uiinfo = GLib.Marshaller.StructureToPtrAlloc(uiinfo); gnome_app_fill_menu(menu_shell == null ? IntPtr.Zero : menu_shell.Handle, native_uiinfo, accel_group == null ? IntPtr.Zero : accel_group.Handle, uline_accels, pos); uiinfo = Gnome.UIInfo.New(native_uiinfo); Marshal.FreeHGlobal(native_uiinfo); }
public static void FillToolbar(Gtk.Toolbar toolbar, Gnome.UIInfo uiinfo, Gtk.AccelGroup accel_group) { IntPtr native_uiinfo = GLib.Marshaller.StructureToPtrAlloc(uiinfo); gnome_app_fill_toolbar(toolbar == null ? IntPtr.Zero : toolbar.Handle, native_uiinfo, accel_group == null ? IntPtr.Zero : accel_group.Handle); uiinfo = Gnome.UIInfo.New(native_uiinfo); Marshal.FreeHGlobal(native_uiinfo); }
public static Gtk.Widget MenuNewWithAccelgroup(Gnome.UIInfo uiinfo, Gtk.AccelGroup accelgroup) { IntPtr native_uiinfo = GLib.Marshaller.StructureToPtrAlloc(uiinfo); IntPtr raw_ret = gnome_popup_menu_new_with_accelgroup(native_uiinfo, accelgroup == null ? IntPtr.Zero : accelgroup.Handle); Gtk.Widget ret = GLib.Object.GetObject(raw_ret) as Gtk.Widget; uiinfo = Gnome.UIInfo.New(native_uiinfo); Marshal.FreeHGlobal(native_uiinfo); return(ret); }
Gtk.Menu GetRightClickMenu() { if (tray.TomboyTrayMenu != null) { tray.TomboyTrayMenu.Hide(); } if (context_menu != null) { context_menu.Hide(); return(context_menu); } context_menu = new Gtk.Menu(); Gtk.AccelGroup accel_group = new Gtk.AccelGroup(); context_menu.AccelGroup = accel_group; Gtk.ImageMenuItem item; sync_menu_item = new Gtk.ImageMenuItem(Catalog.GetString("S_ynchronize Notes")); sync_menu_item.Image = new Gtk.Image(Gtk.Stock.Convert, Gtk.IconSize.Menu); UpdateMenuItems(); Preferences.SettingChanged += Preferences_SettingChanged; sync_menu_item.Activated += SyncNotes; context_menu.Append(sync_menu_item); context_menu.Append(new Gtk.SeparatorMenuItem()); item = new Gtk.ImageMenuItem(Catalog.GetString("_Preferences")); item.Image = new Gtk.Image(Gtk.Stock.Preferences, Gtk.IconSize.Menu); item.Activated += ShowPreferences; context_menu.Append(item); item = new Gtk.ImageMenuItem(Catalog.GetString("_Help")); item.Image = new Gtk.Image(Gtk.Stock.Help, Gtk.IconSize.Menu); item.Activated += ShowHelpContents; context_menu.Append(item); item = new Gtk.ImageMenuItem(Catalog.GetString("_About Tomboy")); item.Image = new Gtk.Image(Gtk.Stock.About, Gtk.IconSize.Menu); item.Activated += ShowAbout; context_menu.Append(item); context_menu.Append(new Gtk.SeparatorMenuItem()); item = new Gtk.ImageMenuItem(Catalog.GetString("_Quit")); item.Image = new Gtk.Image(Gtk.Stock.Quit, Gtk.IconSize.Menu); item.Activated += Quit; context_menu.Append(item); context_menu.ShowAll(); return(context_menu); }
public virtual void SetAccelGroup(Gtk.AccelGroup accel) { AccelGroup = accel; SetAccelerator(); var subMenu = Widget as ISubmenu; if (subMenu != null) { foreach (var item in subMenu.Items.Select(r => r.Handler).OfType <IMenuHandler>()) { item.SetAccelGroup(accel); } } }
public ImageMenuItem(string stock_id, Gtk.AccelGroup accel_group) : base(IntPtr.Zero) { if (GetType() != typeof(ImageMenuItem)) { var vals = new List <GLib.Value> (); var names = new List <string> (); names.Add("accel_group"); vals.Add(new GLib.Value(accel_group)); CreateNativeObject(names.ToArray(), vals.ToArray()); return; } IntPtr native_stock_id = GLib.Marshaller.StringToPtrGStrdup(stock_id); Raw = gtk_image_menu_item_new_from_stock(native_stock_id, accel_group == null ? IntPtr.Zero : accel_group.Handle); GLib.Marshaller.Free(native_stock_id); }
public DamageControlTrayIcon() { Gtk.Application.Init(); this.icon = new TrayIcon("DamageControl Monitor"); InitializeSettings(); Gtk.EventBox eb = new Gtk.EventBox(); eb.ButtonPressEvent += new Gtk.ButtonPressEventHandler(IconClicked); pixbuf = new Gdk.Pixbuf(null, "gray-24.png"); image = new Gtk.Image(pixbuf); eb.Add(image); this.menu = new Gtk.Menu(); this.projects = MonoTray.LoadSettings(); foreach (Project p in this.projects) { p.StartPolling(); } Gtk.AccelGroup ac_quit = new Gtk.AccelGroup(); Gtk.ImageMenuItem it_quit = new Gtk.ImageMenuItem(Gtk.Stock.Quit, ac_quit); it_quit.Activated += new EventHandler(QuitSelected); Gtk.AccelGroup ac_settings = new Gtk.AccelGroup(); Gtk.ImageMenuItem it_settings = new Gtk.ImageMenuItem(Gtk.Stock.Preferences, ac_settings); it_settings.Activated += new EventHandler(SettingsSelected); menu.Append(it_settings); menu.Append(it_quit); this.icon.Add(eb); this.icon.ShowAll(); UpdateProxy(); UpdateProjectList(); Gtk.Application.Run(); }
public void ConnectAccelerator(Gtk.Action action, string keyBind, Gtk.AccelGroup ag) { string path = "<Actions>/MainWindow/" + action.Name; Gdk.ModifierType mods; uint key; /*Console.WriteLine(action.AccelPath); * * if(action.AccelPath == "<Actions>/MainWindow/idepreferences"){ * Console.WriteLine(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"); * }*/ Gtk.Accelerator.Parse(keyBind, out key, out mods); /* * Console.WriteLine("keyBind->{0}",keyBind); * Console.WriteLine("key->{0}",key); * Console.WriteLine("mods->{0}",mods); * Console.WriteLine("action->{0}",action.Name); */ if ((keyBind.Contains("<alt>") && MainClass.Platform.IsMac)) { //mods |= Gdk.ModifierType.Mod2Mask; mods ^= Gdk.ModifierType.Mod1Mask; mods |= Gdk.ModifierType.Mod5Mask; //mods |= Gdk.ModifierType.Mod5Mask; } //Console.WriteLine("mods 2->{0}",mods); Gtk.AccelMap.ChangeEntry(path, key, mods, true); action.AccelGroup = ag; action.AccelPath = path; //Console.WriteLine("action->{0}",action.AccelPath); //Console.WriteLine("action->{0}",action.AccelGroup); }
private void BuildMenu() { var accelerators = new Gtk.AccelGroup(); var mMain = new Gtk.MenuBar(); var mFile = new Gtk.Menu(); var mEdit = new Gtk.Menu(); var mView = new Gtk.Menu(); var mTools = new Gtk.Menu(); var mHelp = new Gtk.Menu(); var miFile = new Gtk.MenuItem( "_File" ); var miEdit = new Gtk.MenuItem( "_Edit" ); var miView = new Gtk.MenuItem( "_View" ); var miTools = new Gtk.MenuItem( "_Tools" ); var miHelp = new Gtk.MenuItem( "_Help" ); // Menu items var opNew = this.actNew.CreateMenuItem(); opNew.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.n, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opOpen = this.actOpen.CreateMenuItem(); opOpen.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.o, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opSave = this.actSave.CreateMenuItem(); opSave.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.s, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opQuit = this.actQuit.CreateMenuItem(); opQuit.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.q, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opAdd = this.actAdd.CreateMenuItem(); opAdd.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.plus, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opRemove = this.actRemove.CreateMenuItem(); opRemove.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.Delete, Gdk.ModifierType.None, Gtk.AccelFlags.Visible ) ); var opFind = this.actFind.CreateMenuItem(); opFind.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.f, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opFindAgain = this.actFindAgain.CreateMenuItem(); opFindAgain.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.F3, Gdk.ModifierType.None, Gtk.AccelFlags.Visible ) ); var opSettings = this.actSettings.CreateMenuItem(); opSettings.AddAccelerator( "activate", accelerators, new Gtk.AccelKey( Gdk.Key.F2, Gdk.ModifierType.None, Gtk.AccelFlags.Visible ) ); var opView = new Gtk.CheckMenuItem( this.actViewCard.Label ); opView.Active = true; opView.Activated += (sender, e) => this.actViewCard.Activate(); // Create menu structure mMain.Append( miFile ); miFile.Submenu = mFile; mFile.Append( opNew ); mFile.Append( opOpen ); mFile.Append( this.actImport.CreateMenuItem() ); mFile.Append( new Gtk.SeparatorMenuItem() ); mFile.Append( opSave ); mFile.Append( this.actExport.CreateMenuItem() ); mFile.Append( new Gtk.SeparatorMenuItem() ); mFile.Append( opQuit ); mMain.Append( miEdit ); miEdit.Submenu = mEdit; mEdit.Append( opAdd ); mEdit.Append( opRemove ); mEdit.Append( this.actModify.CreateMenuItem() ); mEdit.Append( this.actConnect.CreateMenuItem() ); mEdit.Append( new Gtk.SeparatorMenuItem() ); mEdit.Append( opFind ); mEdit.Append( opFindAgain ); mEdit.Append( new Gtk.SeparatorMenuItem() ); mEdit.Append( opSettings ); mMain.Append( miView ); miView.Submenu = mView; mView.Append( opView ); mMain.Append( miTools ); miTools.Submenu = mTools; mTools.Append( this.actSort.CreateMenuItem() ); mMain.Append( miHelp ); miHelp.Submenu = mHelp; mHelp.Append( this.actAbout.CreateMenuItem() ); this.AddAccelGroup( accelerators ); this.vbMain.PackStart( mMain, false, false, 0 ); }
private void BuildMenu() { var accelerators = new Gtk.AccelGroup(); var mMain = new Gtk.MenuBar(); var mFile = new Gtk.Menu(); var mEdit = new Gtk.Menu(); var mView = new Gtk.Menu(); var mTools = new Gtk.Menu(); var mHelp = new Gtk.Menu(); var miFile = new Gtk.MenuItem("_File"); var miEdit = new Gtk.MenuItem("_Edit"); var miView = new Gtk.MenuItem("_View"); var miTools = new Gtk.MenuItem("_Tools"); var miHelp = new Gtk.MenuItem("_Help"); // Menu items var opNew = this.actNew.CreateMenuItem(); opNew.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.n, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); var opOpen = this.actOpen.CreateMenuItem(); opOpen.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.o, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); var opSave = this.actSave.CreateMenuItem(); opSave.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.s, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); var opQuit = this.actQuit.CreateMenuItem(); opQuit.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.q, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); var opAdd = this.actAdd.CreateMenuItem(); opAdd.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.plus, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); var opRemove = this.actRemove.CreateMenuItem(); opRemove.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.Delete, Gdk.ModifierType.None, Gtk.AccelFlags.Visible)); var opFind = this.actFind.CreateMenuItem(); opFind.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.f, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); var opFindAgain = this.actFindAgain.CreateMenuItem(); opFindAgain.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.F3, Gdk.ModifierType.None, Gtk.AccelFlags.Visible)); var opSettings = this.actSettings.CreateMenuItem(); opSettings.AddAccelerator("activate", accelerators, new Gtk.AccelKey( Gdk.Key.F2, Gdk.ModifierType.None, Gtk.AccelFlags.Visible)); var opView = new Gtk.CheckMenuItem(this.actViewCard.Label); opView.Active = true; opView.Activated += (sender, e) => this.actViewCard.Activate(); // Create menu structure mMain.Append(miFile); miFile.Submenu = mFile; mFile.Append(opNew); mFile.Append(opOpen); mFile.Append(this.actImport.CreateMenuItem()); mFile.Append(new Gtk.SeparatorMenuItem()); mFile.Append(opSave); mFile.Append(this.actExport.CreateMenuItem()); mFile.Append(new Gtk.SeparatorMenuItem()); mFile.Append(opQuit); mMain.Append(miEdit); miEdit.Submenu = mEdit; mEdit.Append(opAdd); mEdit.Append(opRemove); mEdit.Append(this.actModify.CreateMenuItem()); mEdit.Append(this.actConnect.CreateMenuItem()); mEdit.Append(new Gtk.SeparatorMenuItem()); mEdit.Append(opFind); mEdit.Append(opFindAgain); mEdit.Append(new Gtk.SeparatorMenuItem()); mEdit.Append(opSettings); mMain.Append(miView); miView.Submenu = mView; mView.Append(opView); mMain.Append(miTools); miTools.Submenu = mTools; mTools.Append(this.actSort.CreateMenuItem()); mMain.Append(miHelp); miHelp.Submenu = mHelp; mHelp.Append(this.actAbout.CreateMenuItem()); this.AddAccelGroup(accelerators); this.vbMain.PackStart(mMain, false, false, 0); }
static GConfKeybindingToAccel() { accel_group = new Gtk.AccelGroup(); }
public PreferencesDialog (AddinManager addin_manager) : base () { this.addin_manager = addin_manager; IconName = "tomboy"; HasSeparator = false; BorderWidth = 5; Resizable = true; Title = Catalog.GetString ("Tomboy Preferences"); ActionArea.Layout = Gtk.ButtonBoxStyle.End; addin_prefs_dialogs = new Dictionary<string, Gtk.Dialog> (); addin_info_dialogs = new Dictionary<string, Gtk.Dialog> (); // Notebook Tabs (Editing, Hotkeys)... Gtk.Notebook notebook = new Gtk.Notebook (); notebook.TabPos = Gtk.PositionType.Top; notebook.Show (); notebook.AppendPage (MakeEditingPane (), new Gtk.Label (Catalog.GetString ("Editing"))); if (! (Services.Keybinder is NullKeybinder)) notebook.AppendPage (MakeHotkeysPane (), new Gtk.Label (Catalog.GetString ("Hotkeys"))); notebook.AppendPage (MakeSyncPane (), new Gtk.Label (Catalog.GetString ("Synchronization"))); notebook.AppendPage (MakeAddinsPane (), new Gtk.Label (Catalog.GetString ("Add-ins"))); // TODO: Figure out a way to have these be placed in a specific order foreach (PreferenceTabAddin tabAddin in addin_manager.GetPreferenceTabAddins ()) { Logger.Debug ("Adding preference tab addin: {0}", tabAddin.GetType ().Name); try { string tabName; Gtk.Widget tabWidget; if (tabAddin.GetPreferenceTabWidget (this, out tabName, out tabWidget) == true) { notebook.AppendPage (tabWidget, new Gtk.Label (tabName)); } } catch (Exception e) { Logger.Warn ("Problems adding preferences tab addin: {0}", tabAddin.GetType ().Name); Logger.Debug ("{0}:\n{1}", e.Message, e.StackTrace); } } VBox.PackStart (notebook, true, true, 0); addin_manager.ApplicationAddinListChanged += OnAppAddinListChanged; // Ok button... Gtk.Button button = new Gtk.Button (Gtk.Stock.Close); button.CanDefault = true; button.Show (); Gtk.AccelGroup accel_group = new Gtk.AccelGroup (); AddAccelGroup (accel_group); button.AddAccelerator ("activate", accel_group, (uint) Gdk.Key.Escape, 0, 0); AddActionWidget (button, Gtk.ResponseType.Close); DefaultResponse = Gtk.ResponseType.Close; Preferences.SettingChanged += HandlePreferencesSettingChanged; }
public MainWindow() : base("Smuxi") { // restore window size / position int width, heigth; if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"] != null) { width = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"]; } else { width = 800; } if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Heigth"] != null) { heigth = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/Heigth"]; } else { heigth = 600; } if (width == -1 && heigth == -1) { SetDefaultSize(800, 600); Maximize(); } else if (width == 0 && heigth == 0) { // HACK: map 0/0 to default size as it crashes on Windows :/ SetDefaultSize(800, 600); } else { SetDefaultSize(width, heigth); } int x, y; if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/XPosition"] != null) { x = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/XPosition"]; } else { x = 0; } if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/YPosition"] != null) { y = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/YPosition"]; } else { y = 0; } if (x == 0 && y == 0) { SetPosition(Gtk.WindowPosition.Center); } else { Move(x, y); } DeleteEvent += OnDeleteEvent; FocusInEvent += OnFocusInEvent; FocusOutEvent += OnFocusOutEvent; WindowStateEvent += OnWindowStateEvent; Gtk.AccelGroup agrp = new Gtk.AccelGroup(); Gtk.AccelKey akey; AddAccelGroup(agrp); // Menu _MenuBar = new Gtk.MenuBar(); Gtk.Menu menu; Gtk.MenuItem item; Gtk.ImageMenuItem image_item; // Menu - File menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_File")); item.Submenu = menu; _MenuBar.Append(item); item = new Gtk.ImageMenuItem(Gtk.Stock.Preferences, agrp); item.Activated += new EventHandler(_OnPreferencesButtonClicked); menu.Append(item); menu.Append(new Gtk.SeparatorMenuItem()); item = new Gtk.ImageMenuItem(Gtk.Stock.Quit, agrp); item.Activated += new EventHandler(_OnQuitButtonClicked); menu.Append(item); // Menu - Server menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Server")); item.Submenu = menu; _MenuBar.Append(item); image_item = new Gtk.ImageMenuItem(_("_Quick Connect")); image_item.Image = new Gtk.Image(Gtk.Stock.Connect, Gtk.IconSize.Menu); image_item.Activated += OnServerQuickConnectButtonClicked; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(Gtk.Stock.Add, agrp); image_item.Activated += OnServerAddButtonClicked; menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Manage")); image_item.Image = new Gtk.Image(Gtk.Stock.Edit, Gtk.IconSize.Menu); image_item.Activated += OnServerManageServersButtonClicked; menu.Append(image_item); // Menu - Chat menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Chat")); item.Submenu = menu; _MenuBar.Append(item); _OpenChatMenuItem = new Gtk.ImageMenuItem(_("Open / Join Chat")); _OpenChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Menu); _OpenChatMenuItem.Activated += OnChatOpenChatButtonClicked; _OpenChatMenuItem.Sensitive = false; menu.Append(_OpenChatMenuItem); _FindGroupChatMenuItem = new Gtk.ImageMenuItem(_("_Find Group Chat")); _FindGroupChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Find, Gtk.IconSize.Menu); _FindGroupChatMenuItem.Activated += OnChatFindGroupChatButtonClicked; _FindGroupChatMenuItem.Sensitive = false; menu.Append(_FindGroupChatMenuItem); image_item = new Gtk.ImageMenuItem(_("C_lear All Activity")); image_item.Image = new Gtk.Image(Gtk.Stock.Clear, Gtk.IconSize.Menu); image_item.Activated += OnChatClearAllActivityButtonClicked; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(_("_Next Chat")); image_item.Image = new Gtk.Image(Gtk.Stock.GoForward, Gtk.IconSize.Menu); image_item.Activated += OnNextChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.Page_Down; image_item.AddAccelerator("activate", agrp, akey); menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Previous Chat")); image_item.Image = new Gtk.Image(Gtk.Stock.GoBack, Gtk.IconSize.Menu); image_item.Activated += OnPreviousChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.Page_Up; image_item.AddAccelerator("activate", agrp, akey); menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); /* // TODO: make a radio item for each chat hotkey Gtk.RadioMenuItem radio_item; radio_item = new Gtk.RadioMenuItem(); radio_item = new Gtk.RadioMenuItem(radio_item); radio_item = new Gtk.RadioMenuItem(radio_item); menu.Append(new Gtk.SeparatorMenuItem()); */ /* image_item = new Gtk.ImageMenuItem(Gtk.Stock.Find, agrp); image_item.Activated += OnFindChatMenuItemActivated; menu.Append(image_item); item = new Gtk.MenuItem(_("Find _Next")); item.Activated += OnFindNextChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.G; item.AddAccelerator("activate", agrp, akey); menu.Append(item); item = new Gtk.MenuItem(_("Find _Previous")); item.Activated += OnFindPreviousChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask; akey.Key = Gdk.Key.G; item.AddAccelerator("activate", agrp, akey); menu.Append(item); */ // ROFL: the empty code statement below is needed to keep stupid // gettext away from using all the commented code from above as // translator comment ; _OpenLogChatMenuItem = new Gtk.ImageMenuItem(_("Open Log")); _OpenLogChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Menu); _OpenLogChatMenuItem.Activated += OnOpenLogChatMenuItemActivated; _OpenLogChatMenuItem.Sensitive = false; _OpenLogChatMenuItem.NoShowAll = true; menu.Append(_OpenLogChatMenuItem); _CloseChatMenuItem = new Gtk.ImageMenuItem(Gtk.Stock.Close, agrp); _CloseChatMenuItem.Activated += OnCloseChatMenuItemActivated; menu.Append(_CloseChatMenuItem); // Menu - Engine menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Engine")); item.Submenu = menu; _MenuBar.Append(item); item = new Gtk.MenuItem(_("_Use Local Engine")); item.Activated += new EventHandler(_OnUseLocalEngineButtonClicked); menu.Append(item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(_("_Add Remote Engine")); image_item.Image = new Gtk.Image(Gtk.Stock.Add, Gtk.IconSize.Menu); image_item.Activated += new EventHandler(_OnAddRemoteEngineButtonClicked); menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Switch Remote Engine")); image_item.Image = new Gtk.Image(Gtk.Stock.Refresh, Gtk.IconSize.Menu); image_item.Activated += new EventHandler(_OnSwitchRemoteEngineButtonClicked); menu.Append(image_item); // Menu - View menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_View")); item.Submenu = menu; _MenuBar.Append(item); item = new Gtk.CheckMenuItem(_("_Caret Mode")); item.Activated += new EventHandler(_OnCaretModeButtonClicked); akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F7; item.AddAccelerator("activate", agrp, akey); menu.Append(item); item = new Gtk.CheckMenuItem(_("_Browse Mode")); item.Activated += delegate { try { _Notebook.IsBrowseModeEnabled = !_Notebook.IsBrowseModeEnabled; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F8; item.AddAccelerator("activate", agrp, akey); menu.Append(item); _ShowMenuBarItem = new Gtk.CheckMenuItem(_("Show _Menubar")); _ShowMenuBarItem.Active = true; _ShowMenuBarItem.Activated += delegate { try { _MenuBar.Visible = !_MenuBar.Visible; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; menu.Append(_ShowMenuBarItem); item = new Gtk.ImageMenuItem(Gtk.Stock.Fullscreen, agrp); item.Activated += delegate { try { IsFullscreen = !IsFullscreen; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F11; item.AddAccelerator("activate", agrp, akey); menu.Append(item); // Menu - Help menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Help")); item.Submenu = menu; _MenuBar.Append(item); image_item = new Gtk.ImageMenuItem(Gtk.Stock.About, agrp); image_item.Activated += new EventHandler(_OnAboutButtonClicked); menu.Append(image_item); // TODO: network treeview _Notebook = new Notebook(); _Notebook.SwitchPage += OnNotebookSwitchPage; _ChatViewManager = new ChatViewManager(_Notebook, null); Assembly asm = Assembly.GetExecutingAssembly(); _ChatViewManager.Load(asm); _ChatViewManager.LoadAll(System.IO.Path.GetDirectoryName(asm.Location), "smuxi-frontend-gnome-*.dll"); _ChatViewManager.ChatAdded += OnChatViewManagerChatAdded; _ChatViewManager.ChatRemoved += OnChatViewManagerChatRemoved; #if GTK_SHARP_2_10 _StatusIconManager = new StatusIconManager(this, _ChatViewManager); #endif #if INDICATE_SHARP _IndicateManager = new IndicateManager(this, _ChatViewManager); #endif #if NOTIFY_SHARP _NotifyManager = new NotifyManager(this, _ChatViewManager); #endif _UI = new GnomeUI(_ChatViewManager); // HACK: Frontend.FrontendConfig out of scope _EngineManager = new EngineManager(Frontend.FrontendConfig, _UI); _Entry = new Entry(_Notebook); _ProgressBar = new Gtk.ProgressBar(); Gtk.VBox vbox = new Gtk.VBox(); vbox.PackStart(_MenuBar, false, false, 0); vbox.PackStart(_Notebook, true, true, 0); vbox.PackStart(_Entry, false, false, 0); _NetworkStatusbar = new Gtk.Statusbar(); _NetworkStatusbar.WidthRequest = 300; _NetworkStatusbar.HasResizeGrip = false; _Statusbar = new Gtk.Statusbar(); _Statusbar.HasResizeGrip = false; Gtk.HBox status_bar_hbox = new Gtk.HBox(); status_bar_hbox.Homogeneous = true; status_bar_hbox.PackStart(_NetworkStatusbar, false, true, 0); status_bar_hbox.PackStart(_Statusbar, true, true, 0); Gtk.HBox status_hbox = new Gtk.HBox(); status_hbox.PackStart(status_bar_hbox); status_hbox.PackStart(_ProgressBar, false, false, 0); vbox.PackStart(status_hbox, false, false, 0); Add(vbox); }
static GConfKeybindingToAccel () { accel_group = new Gtk.AccelGroup (); }
public static void Load() { Style.Add <ApplicationHandler>("PipelineTool", h => { Global.Application = h.Control; if (Gtk.Global.MajorVersion >= 3 && Gtk.Global.MinorVersion >= 16) { Global.UseHeaderBar = Global.Application.PrefersAppMenu(); } if (Global.UseHeaderBar) { Global.Application.AppMenu = new GLib.MenuModel((new Gtk.Builder("AppMenu.glade")).GetObject("appmenu").Handle); } }); Style.Add <FormHandler>("MainWindow", h => { if (!Global.UseHeaderBar) { return; } var builder = new Gtk.Builder("MainWindow.glade"); var headerBar = new Gtk.HeaderBar(builder.GetObject("headerbar").Handle); h.Menu = null; h.ToolBar = null; Connect("new", MainWindow.Instance.cmdNew); Connect("open", MainWindow.Instance.cmdOpen); Connect("save", MainWindow.Instance.cmdSave); Connect("saveas", MainWindow.Instance.cmdSaveAs); Connect("import", MainWindow.Instance.cmdImport); Connect("close", MainWindow.Instance.cmdClose); Connect("help", MainWindow.Instance.cmdHelp); Connect("about", MainWindow.Instance.cmdAbout); Connect("quit", MainWindow.Instance.cmdExit); Connect("undo", MainWindow.Instance.cmdUndo); Connect("redo", MainWindow.Instance.cmdRedo); Connect("build", MainWindow.Instance.cmdBuild); Connect("rebuild", MainWindow.Instance.cmdRebuild); Connect("clean", MainWindow.Instance.cmdClean); Connect("cancel", MainWindow.Instance.cmdCancelBuild); var widget = new Gtk.ModelButton(builder.GetObject("button_debug").Handle); widget.Active = MainWindow.Instance.cmdDebugMode.Checked; widget.Clicked += (e, sender) => { var newstate = !PipelineSettings.Default.DebugMode; widget.Active = newstate; PipelineSettings.Default.DebugMode = newstate; }; _accelGroup = new Gtk.AccelGroup(); Connect(MainWindow.Instance.cmdNew, Gdk.Key.N, Gdk.ModifierType.ControlMask); Connect(MainWindow.Instance.cmdOpen, Gdk.Key.O, Gdk.ModifierType.ControlMask); Connect(MainWindow.Instance.cmdSave, Gdk.Key.S, Gdk.ModifierType.ControlMask); Connect(MainWindow.Instance.cmdExit, Gdk.Key.Q, Gdk.ModifierType.ControlMask); Connect(MainWindow.Instance.cmdUndo, Gdk.Key.Z, Gdk.ModifierType.ControlMask); Connect(MainWindow.Instance.cmdRedo, Gdk.Key.Y, Gdk.ModifierType.ControlMask); Connect(MainWindow.Instance.cmdBuild, Gdk.Key.F6); Connect(MainWindow.Instance.cmdHelp, Gdk.Key.F1); h.Control.AddAccelGroup(_accelGroup); _popovermenu1 = new Gtk.Widget(builder.GetObject("popovermenu1").Handle); _popovermenu2 = new Gtk.Widget(builder.GetObject("popovermenu2").Handle); h.Control.Titlebar = headerBar; headerBar.ShowCloseButton = true; _buttonbox = new Gtk.Widget(builder.GetObject("build_buttonbox").Handle); _cancelbox = new Gtk.Widget(builder.GetObject("cancel_button").Handle); _separator = new Gtk.Widget(builder.GetObject("separator1").Handle); MainWindow.Instance.cmdBuild.EnabledChanged += (sender, e) => ReloadBuildbox(); MainWindow.Instance.cmdCancelBuild.EnabledChanged += (sender, e) => ReloadBuildbox(); MainWindow.Instance.TitleChanged += delegate { var title = MainWindow.TitleBase; var subtitle = ""; if (PipelineController.Instance.ProjectOpen) { title = (PipelineController.Instance.ProjectDirty) ? "*" : ""; title += Path.GetFileName(PipelineController.Instance.ProjectItem.OriginalPath); subtitle = Path.GetDirectoryName(PipelineController.Instance.ProjectItem.OriginalPath); } h.Control.Title = title; headerBar.Subtitle = subtitle; }; var treeview1 = new Gtk.TreeView(builder.GetObject("treeview1").Handle); var store = new Gtk.TreeStore(typeof(string), typeof(string)); var column = new Gtk.TreeViewColumn(); var textCell = new Gtk.CellRendererText(); var dataCell = new Gtk.CellRendererText(); dataCell.Visible = false; column.PackStart(textCell, false); column.PackStart(dataCell, false); treeview1.AppendColumn(column); column.AddAttribute(textCell, "markup", 0); column.AddAttribute(dataCell, "text", 1); treeview1.Model = store; MainWindow.Instance.RecentChanged += (sender, e) => { store.Clear(); var recentList = sender as List <string>; foreach (var project in recentList) { store.InsertWithValues(0, "<b>" + Path.GetFileName(project) + "</b>\n" + Path.GetDirectoryName(project), project); } }; treeview1.RowActivated += (o, args) => { _popovermenu2.Hide(); Gtk.TreeIter iter; if (!store.GetIter(out iter, args.Path)) { return; } var project = store.GetValue(iter, 1).ToString(); PipelineController.Instance.OpenProject(project); }; headerBar.Show(); }); Style.Add <ButtonHandler>("Destuctive", h => h.Control.StyleContext.AddClass("destructive-action")); Style.Add <LabelHandler>("Wrap", h => h.Control.MaxWidthChars = 55); Style.Add <ToolBarHandler>("ToolBar", h => { h.Control.ToolbarStyle = Gtk.ToolbarStyle.Icons; h.Control.IconSize = Gtk.IconSize.SmallToolbar; }); Style.Add <DrawableHandler>("Stretch", h => { var parent = h.Control.Parent.Parent.Parent.Parent.Parent.Parent; parent.SizeAllocated += delegate { var al = h.Control.Allocation; al.Width = parent.AllocatedWidth - 2; h.Control.SetAllocation(al); }; }); Style.Add <PixelLayoutHandler>("Stretch", h => { var parent = h.Control.Parent.Parent.Parent.Parent.Parent; parent.SizeAllocated += delegate { var al = h.Control.Allocation; al.Width = parent.AllocatedWidth; h.Control.SetAllocation(al); }; }); }
private void Build() { global::Stetic.Gui.Initialize(this); this.menubar2 = new Gtk.MenuBar(); Gtk.AccelGroup agrp = new Gtk.AccelGroup ( ); this.AddAccelGroup (agrp); ////////////////////// FILE ////////////////////// FileAction = new Gtk.MenuItem(messages.Localize("[[window-menu-file]]")); FileAction.Submenu = this.FileMenu; OpenNewConnectionAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-open]]")); OpenNewConnectionAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.N, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); OpenNewConnectionAction.Image = new Gtk.Image(Gtk.Stock.Connect, Gtk.IconSize.Menu); FileAction.Submenu = this.FileMenu; FileMenu.Append(OpenNewConnectionAction); FileMenu.Append(new Gtk.SeparatorMenuItem()); FavoriteNetworksAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-favorite]]")); FileMenu.Append(FavoriteNetworksAction); FileMenu.Append(new Gtk.SeparatorMenuItem()); PreferencesAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-conf]]")); PreferencesAction.Image = new Gtk.Image(Gtk.Stock.Preferences, Gtk.IconSize.Menu); FileMenu.Append(PreferencesAction); FileMenu.Append(new Gtk.SeparatorMenuItem()); ShutDownAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-quit]]")); FileMenu.Append(ShutDownAction); ////////////////////// TOOLS ////////////////////// ToolsAction = new Gtk.MenuItem(messages.Localize("[[window-menu-tools]]")); ToolsAction.Submenu = ToolsMenu; PacketViewerAction = new Gtk.MenuItem(messages.Localize("[[window-menu-viewer]]")); PacketViewerAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.P, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); ToolsMenu.Append(PacketViewerAction); SmallChatAction = new Gtk.MenuItem(messages.Localize("[[window-menu-chat]]")); ToolsMenu.Append(SmallChatAction); ToolsMenu.Append(new Gtk.SeparatorMenuItem()); AttachToMicroChatAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-chat1]]")); AttachToMicroChatAction.Image = new Gtk.Image(Gtk.Stock.Add, Gtk.IconSize.Menu); AttachToMicroChatAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.M, Gdk.ModifierType.Mod1Mask, Gtk.AccelFlags.Visible)); ToolsMenu.Append(AttachToMicroChatAction); DetachFromMicroChatAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-chat2]]")); DetachFromMicroChatAction.Image = new Gtk.Image(Gtk.Stock.Remove, Gtk.IconSize.Menu); DetachFromMicroChatAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.D, Gdk.ModifierType.Mod1Mask, Gtk.AccelFlags.Visible)); ToolsMenu.Append(DetachFromMicroChatAction); ////////////////////// MISC ////////////////////// MiscAction = new Gtk.MenuItem(messages.Localize("[[window-menu-misc]]")); MiscAction.Submenu = MiscMenu; SearchAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-search]]")); SearchAction.Image = new Gtk.Image(Gtk.Stock.Find, Gtk.IconSize.Menu); SearchAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.F, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); MiscMenu.Append(SearchAction); LoadMoreToScrollbackAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-more]]")); LoadMoreToScrollbackAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.U, Gdk.ModifierType.Mod1Mask, Gtk.AccelFlags.Visible)); MiscMenu.Append(LoadMoreToScrollbackAction); MiscMenu.Append(new Gtk.SeparatorMenuItem()); ConfigurationFileAction = new Gtk.MenuItem(messages.Localize("[[window-menu-cf]]")); ////////////////////// SHOW ////////////////////// ShowAction = new Gtk.MenuItem(messages.Localize("[[window-menu-show]]")); ShowAction.Submenu = ShowMenu; RootAction = new Gtk.MenuItem(messages.Localize("[[window-menu-root]]")); ShowMenu.Append(RootAction); HelpAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-help]]")); HelpAction.Submenu = HelpMenu; MiscMenu.Append(ConfigurationFileAction); AboutAction = new Gtk.ImageMenuItem(messages.Localize("[[window-menu-about]]")); AboutAction.Image = new Gtk.Image(Gtk.Stock.About, Gtk.IconSize.Menu); ContentsAction = new Gtk.MenuItem(messages.Localize("[[window-menu-contents]]")); HelpMenu.Append(AboutAction); FavoriteNetworksAction.Sensitive = false; ContentsAction.AddAccelerator("activate", agrp, new Gtk.AccelKey(Gdk.Key.F1, Gdk.ModifierType.None, Gtk.AccelFlags.Visible)); HelpMenu.Append(ContentsAction); menubar2.Add(this.FileAction); menubar2.Add(this.ToolsAction); menubar2.Add(this.MiscAction); this.menubar2.Add(this.ShowAction); this.menubar2.Add(this.HelpAction); this.Name = "Client.Forms.Main"; this.Title = "Pidgeon Client"; this.Icon = global::Gdk.Pixbuf.LoadFromResource("Client.Resources.pigeon_clip_art_hight.ico"); this.WindowPosition = ((global::Gtk.WindowPosition)(4)); // Container child Client.Forms.Main.Gtk.Container+ContainerChild this.vbox3 = new global::Gtk.VBox(); this.vbox3.Name = "vbox3"; this.vbox3.Spacing = 6; // Container child vbox3.Gtk.Box+BoxChild this.menubar2.Name = "menubar2"; this.vbox3.Add(this.menubar2); global::Gtk.Box.BoxChild w2 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.menubar2])); w2.Position = 0; w2.Expand = false; w2.Fill = false; // Container child vbox3.Gtk.Box+BoxChild this.hpaned1 = new global::Gtk.HPaned(); this.hpaned1.CanFocus = true; this.hpaned1.Name = "hpaned1"; this.hpaned1.Position = 183; // Container child hpaned1.Gtk.Paned+PanedChild this.pidgeonlist1 = new global::Client.Graphics.PidgeonList(); this.pidgeonlist1.Events = ((global::Gdk.EventMask)(256)); this.pidgeonlist1.Name = "pidgeonlist1"; this.hpaned1.Add(this.pidgeonlist1); global::Gtk.Paned.PanedChild w3 = ((global::Gtk.Paned.PanedChild)(this.hpaned1[this.pidgeonlist1])); w3.Resize = false; this.vbox3.Add(this.hpaned1); global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.hpaned1])); w4.Position = 1; // Container child vbox3.Gtk.Box+BoxChild this.toolStrip = new global::Gtk.Statusbar(); this.toolStrip.Name = "toolStrip"; this.toolStrip.Spacing = 6; // Container child toolStrip.Gtk.Box+BoxChild this.toolStripStatusNetwork = new global::Gtk.Label(); this.toolStripStatusNetwork.Name = "toolStripStatusNetwork"; this.toolStrip.Add(this.toolStripStatusNetwork); global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.toolStrip[this.toolStripStatusNetwork])); w5.Position = 0; w5.Expand = false; w5.Fill = false; // Container child toolStrip.Gtk.Box+BoxChild this.toolStripStatusChannel = new global::Gtk.Label(); this.toolStripStatusChannel.Name = "toolStripStatusChannel"; this.toolStrip.Add(this.toolStripStatusChannel); global::Gtk.Box.BoxChild w6 = ((global::Gtk.Box.BoxChild)(this.toolStrip[this.toolStripStatusChannel])); w6.Position = 1; w6.Expand = false; w6.Fill = false; // Container child toolStrip.Gtk.Box+BoxChild this.toolStripInfo = new global::Gtk.Label(); this.toolStripInfo.Name = "toolStripInfo"; this.toolStrip.Add(this.toolStripInfo); global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.toolStrip[this.toolStripInfo])); w7.Position = 3; w7.Expand = false; w7.Fill = false; // Container child toolStrip.Gtk.Box+BoxChild this.toolStripProgressBar1 = new global::Gtk.ProgressBar(); this.toolStripProgressBar1.Name = "toolStripProgressBar1"; this.toolStrip.Add(this.toolStripProgressBar1); global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.toolStrip[this.toolStripProgressBar1])); w8.Position = 4; this.vbox3.Add(this.toolStrip); global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.vbox3[this.toolStrip])); w9.Position = 2; w9.Expand = false; w9.Fill = false; this.Add(this.vbox3); if ((this.Child != null)) { this.Child.ShowAll(); } this.DefaultWidth = 1018; this.DefaultHeight = 600; this.Show(); this.DeleteEvent += new global::Gtk.DeleteEventHandler(this.Unshow); this.ShutDownAction.Activated += new global::System.EventHandler(this.shutDownToolStripMenuItem_Click); this.AboutAction.Activated += new global::System.EventHandler(this.aboutToolStripMenuItem_Click); this.OpenNewConnectionAction.Activated += new global::System.EventHandler(this.newConnectionToolStripMenuItem_Click_1); this.PreferencesAction.Activated += new global::System.EventHandler(this.preferencesToolStripMenuItem_Click); this.PacketViewerAction.Activated += new global::System.EventHandler(this.toolStripMenuItem3_Click); this.SmallChatAction.Activated += new global::System.EventHandler(this.taskbarBoxToolStripMenuItem_Click); this.AttachToMicroChatAction.Activated += new global::System.EventHandler(this.attachToMicroChatToolStripMenuItem_Click); this.DetachFromMicroChatAction.Activated += new global::System.EventHandler(this.detachFromMicroChatToolStripMenuItem_Click); }
private void BuildMenu() { var accel = new Gtk.AccelGroup(); this.mbMainMenu = new Gtk.MenuBar(); // File var miFile = new Gtk.MenuItem( "_File" ); var mFile = new Gtk.Menu(); miFile.Submenu = mFile; var opNew = this.actNew.CreateMenuItem(); opNew.AddAccelerator( "activate", accel, new Gtk.AccelKey( Gdk.Key.n, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opOpen = this.actOpen.CreateMenuItem(); opOpen.AddAccelerator( "activate", accel, new Gtk.AccelKey( Gdk.Key.o, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opSave = this.actSave.CreateMenuItem(); opSave.AddAccelerator( "activate", accel, new Gtk.AccelKey( Gdk.Key.s, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); var opQuit = this.actQuit.CreateMenuItem(); opQuit.AddAccelerator( "activate", accel, new Gtk.AccelKey( Gdk.Key.q, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible ) ); mFile.Add( opNew ); mFile.Add( this.actImport.CreateMenuItem() ); mFile.Add( opOpen ); mFile.Add( this.actAppend.CreateMenuItem() ); mFile.Add( opSave ); mFile.Add( this.actSaveAs.CreateMenuItem() ); mFile.Add( this.actExport.CreateMenuItem() ); mFile.Add( this.actClose.CreateMenuItem() ); mFile.Add( opQuit ); // Edit var miEdit = new Gtk.MenuItem( "_Edit" ); var mEdit = new Gtk.Menu(); miEdit.Submenu = mEdit; mEdit.Add( this.actAddQuestion.CreateMenuItem() ); mEdit.Add( this.actRemoveQuestion.CreateMenuItem() ); mEdit.Add( this.actAddAnswer.CreateMenuItem() ); mEdit.Add( this.actRemoveAnswer.CreateMenuItem() ); // Tools var miTools = new Gtk.MenuItem( "_Tools" ); var mTools = new Gtk.Menu(); miTools.Submenu = mTools; mTools.Add( this.actShuffle.CreateMenuItem() ); mTools.Add( this.actTakeTest.CreateMenuItem() ); // About var miAbout = new Gtk.MenuItem( "_About" ); var mAbout = new Gtk.Menu(); miAbout.Submenu = mAbout; mAbout.Add( this.actAbout.CreateMenuItem() ); // Finish this.mbMainMenu.Add( miFile ); this.mbMainMenu.Add( miEdit ); this.mbMainMenu.Add( miTools ); this.mbMainMenu.Add( miAbout ); }
private void ConstructAccelGroupMain() { accelGroupMain = new Gtk.AccelGroup(); AddAccelGroup(accelGroupMain); }
bool InvokeNative(Gtk.AccelGroup accel_group, GLib.Object acceleratable, uint keyval, Gdk.ModifierType modifier) { bool __result = native_cb(accel_group == null ? IntPtr.Zero : accel_group.Handle, acceleratable == null ? IntPtr.Zero : acceleratable.Handle, keyval, (int)modifier); return(__result); }
public HigMessageDialog (Gtk.Window parent, Gtk.DialogFlags flags, Gtk.MessageType type, Gtk.ButtonsType buttons, string header, string msg) : base () { HasSeparator = false; BorderWidth = 5; Resizable = false; Title = ""; VBox.Spacing = 12; ActionArea.Layout = Gtk.ButtonBoxStyle.End; accel_group = new Gtk.AccelGroup (); AddAccelGroup (accel_group); Gtk.HBox hbox = new Gtk.HBox (false, 12); hbox.BorderWidth = 5; hbox.Show (); VBox.PackStart (hbox, false, false, 0); Gtk.Image image = null; switch (type) { case Gtk.MessageType.Error: image = new Gtk.Image (Gtk.Stock.DialogError, Gtk.IconSize.Dialog); break; case Gtk.MessageType.Question: image = new Gtk.Image (Gtk.Stock.DialogQuestion, Gtk.IconSize.Dialog); break; case Gtk.MessageType.Info: image = new Gtk.Image (Gtk.Stock.DialogInfo, Gtk.IconSize.Dialog); break; case Gtk.MessageType.Warning: image = new Gtk.Image (Gtk.Stock.DialogWarning, Gtk.IconSize.Dialog); break; } image.Show (); hbox.PackStart (image, false, false, 0); Gtk.VBox label_vbox = new Gtk.VBox (false, 0); label_vbox.Show (); hbox.PackStart (label_vbox, true, true, 0); string title = String.Format ("<span weight='bold' size='larger'>{0}" + "</span>\n", header); Gtk.Label label; label = new Gtk.Label (title); label.UseMarkup = true; label.Justify = Gtk.Justification.Left; label.LineWrap = true; label.SetAlignment (0.0f, 0.5f); label.Show (); label_vbox.PackStart (label, false, false, 0); label = new Gtk.Label (msg); label.UseMarkup = true; label.Justify = Gtk.Justification.Left; label.LineWrap = true; label.SetAlignment (0.0f, 0.5f); label.Show (); label_vbox.PackStart (label, false, false, 0); switch (buttons) { case Gtk.ButtonsType.None: break; case Gtk.ButtonsType.Ok: AddButton (Gtk.Stock.Ok, Gtk.ResponseType.Ok, true); break; case Gtk.ButtonsType.Close: AddButton (Gtk.Stock.Close, Gtk.ResponseType.Close, true); break; case Gtk.ButtonsType.Cancel: AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, true); break; case Gtk.ButtonsType.YesNo: AddButton (Gtk.Stock.No, Gtk.ResponseType.No, false); AddButton (Gtk.Stock.Yes, Gtk.ResponseType.Yes, true); break; case Gtk.ButtonsType.OkCancel: AddButton (Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, false); AddButton (Gtk.Stock.Ok, Gtk.ResponseType.Ok, true); break; } if (parent != null) TransientFor = parent; if ((int) (flags & Gtk.DialogFlags.Modal) != 0) Modal = true; if ((int) (flags & Gtk.DialogFlags.DestroyWithParent) != 0) DestroyWithParent = true; }
public HIGMessageDialog(Gtk.Window parent, Gtk.DialogFlags flags, Gtk.MessageType type, Gtk.ButtonsType buttons, string header, string msg) : base() { HasSeparator = false; BorderWidth = 5; Resizable = false; Title = ""; VBox.Spacing = 12; ActionArea.Layout = Gtk.ButtonBoxStyle.End; accel_group = new Gtk.AccelGroup(); AddAccelGroup(accel_group); Gtk.HBox hbox = new Gtk.HBox(false, 12); hbox.BorderWidth = 5; hbox.Show(); VBox.PackStart(hbox, false, false, 0); switch (type) { case Gtk.MessageType.Error: image = new Gtk.Image(Gtk.Stock.DialogError, Gtk.IconSize.Dialog); break; case Gtk.MessageType.Question: image = new Gtk.Image(Gtk.Stock.DialogQuestion, Gtk.IconSize.Dialog); break; case Gtk.MessageType.Info: image = new Gtk.Image(Gtk.Stock.DialogInfo, Gtk.IconSize.Dialog); break; case Gtk.MessageType.Warning: image = new Gtk.Image(Gtk.Stock.DialogWarning, Gtk.IconSize.Dialog); break; default: image = new Gtk.Image(); break; } if (image != null) { image.Show(); image.Yalign = 0; hbox.PackStart(image, false, false, 0); } Gtk.VBox label_vbox = new Gtk.VBox(false, 0); label_vbox.Show(); hbox.PackStart(label_vbox, true, true, 0); string title = String.Format("<span weight='bold' size='larger'>{0}" + "</span>\n", header); Gtk.Label label; label = new Gtk.Label(title); label.UseMarkup = true; label.UseUnderline = false; label.Justify = Gtk.Justification.Left; label.LineWrap = true; label.SetAlignment(0.0f, 0.5f); label.Show(); label_vbox.PackStart(label, false, false, 0); label = new Gtk.Label(msg); label.UseMarkup = true; label.UseUnderline = false; label.Justify = Gtk.Justification.Left; label.LineWrap = true; label.SetAlignment(0.0f, 0.5f); label.Show(); label_vbox.PackStart(label, false, false, 0); extra_widget_vbox = new Gtk.VBox(false, 0); extra_widget_vbox.Show(); label_vbox.PackStart(extra_widget_vbox, true, true, 12); switch (buttons) { case Gtk.ButtonsType.None: break; case Gtk.ButtonsType.Ok: AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok, true); break; case Gtk.ButtonsType.Close: AddButton(Gtk.Stock.Close, Gtk.ResponseType.Close, true); break; case Gtk.ButtonsType.Cancel: AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, true); break; case Gtk.ButtonsType.YesNo: AddButton(Gtk.Stock.No, Gtk.ResponseType.No, false); AddButton(Gtk.Stock.Yes, Gtk.ResponseType.Yes, true); break; case Gtk.ButtonsType.OkCancel: AddButton(Gtk.Stock.Cancel, Gtk.ResponseType.Cancel, false); AddButton(Gtk.Stock.Ok, Gtk.ResponseType.Ok, true); break; } if (parent != null) { TransientFor = parent; } if ((int)(flags & Gtk.DialogFlags.Modal) != 0) { Modal = true; } if ((int)(flags & Gtk.DialogFlags.DestroyWithParent) != 0) { DestroyWithParent = true; } }
public MainWindow() : base("Smuxi") { // restore window size / position int width, heigth; if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"] != null) { width = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"]; } else { width = 800; } if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Heigth"] != null) { heigth = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/Heigth"]; } else { heigth = 600; } if (width < -1 || heigth < -1) { width = -1; heigth = -1; } if (width == -1 && heigth == -1) { SetDefaultSize(800, 600); Maximize(); } else if (width == 0 && heigth == 0) { // HACK: map 0/0 to default size as it crashes on Windows :/ SetDefaultSize(800, 600); } else { SetDefaultSize(width, heigth); } int x, y; if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/XPosition"] != null) { x = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/XPosition"]; } else { x = 0; } if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/YPosition"] != null) { y = (int) Frontend.FrontendConfig[Frontend.UIName + "/Interface/YPosition"]; } else { y = 0; } if (x < 0 || y < 0) { x = 0; y = 0; } if (x == 0 && y == 0) { SetPosition(Gtk.WindowPosition.Center); } else { Move(x, y); } DeleteEvent += OnDeleteEvent; FocusInEvent += OnFocusInEvent; FocusOutEvent += OnFocusOutEvent; WindowStateEvent += OnWindowStateEvent; Gtk.AccelGroup agrp = new Gtk.AccelGroup(); Gtk.AccelKey akey; AddAccelGroup(agrp); // Menu MenuBar = new Gtk.MenuBar(); Gtk.Menu menu; Gtk.MenuItem item; Gtk.ImageMenuItem image_item; // Menu - File menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_File")); item.Submenu = menu; MenuBar.Append(item); item = new Gtk.ImageMenuItem(Gtk.Stock.Preferences, agrp); item.Activated += new EventHandler(_OnPreferencesButtonClicked); item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(item); menu.Append(new Gtk.SeparatorMenuItem()); item = new Gtk.ImageMenuItem(Gtk.Stock.Quit, agrp); item.Activated += new EventHandler(_OnQuitButtonClicked); item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(item); // Menu - Server menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Server")); item.Submenu = menu; MenuBar.Append(item); image_item = new Gtk.ImageMenuItem(_("_Quick Connect")); image_item.Image = new Gtk.Image(Gtk.Stock.Connect, Gtk.IconSize.Menu); image_item.Activated += OnServerQuickConnectButtonClicked; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(Gtk.Stock.Add, agrp); image_item.Activated += OnServerAddButtonClicked; menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Manage")); image_item.Image = new Gtk.Image(Gtk.Stock.Edit, Gtk.IconSize.Menu); image_item.Activated += OnServerManageServersButtonClicked; menu.Append(image_item); // Menu - Chat menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Chat")); item.Submenu = menu; MenuBar.Append(item); _OpenChatMenuItem = new Gtk.ImageMenuItem(_("Open / Join Chat")); _OpenChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Menu); _OpenChatMenuItem.Activated += OnOpenChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.L; _OpenChatMenuItem.AddAccelerator("activate", agrp, akey); _OpenChatMenuItem.AccelCanActivate += AccelCanActivateSensitive; menu.Append(_OpenChatMenuItem); _FindGroupChatMenuItem = new Gtk.ImageMenuItem(_("_Find Group Chat")); _FindGroupChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Find, Gtk.IconSize.Menu); _FindGroupChatMenuItem.Activated += OnChatFindGroupChatButtonClicked; _FindGroupChatMenuItem.Sensitive = false; menu.Append(_FindGroupChatMenuItem); image_item = new Gtk.ImageMenuItem(_("C_lear All Activity")); image_item.Image = new Gtk.Image(Gtk.Stock.Clear, Gtk.IconSize.Menu); image_item.Activated += OnChatClearAllActivityButtonClicked; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(_("_Next Chat")); image_item.Image = new Gtk.Image(Gtk.Stock.GoForward, Gtk.IconSize.Menu); image_item.Activated += OnNextChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.Page_Down; image_item.AddAccelerator("activate", agrp, akey); image_item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Previous Chat")); image_item.Image = new Gtk.Image(Gtk.Stock.GoBack, Gtk.IconSize.Menu); image_item.Activated += OnPreviousChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.Page_Up; image_item.AddAccelerator("activate", agrp, akey); image_item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); /* // TODO: make a radio item for each chat hotkey Gtk.RadioMenuItem radio_item; radio_item = new Gtk.RadioMenuItem(); radio_item = new Gtk.RadioMenuItem(radio_item); radio_item = new Gtk.RadioMenuItem(radio_item); menu.Append(new Gtk.SeparatorMenuItem()); */ /* image_item = new Gtk.ImageMenuItem(Gtk.Stock.Find, agrp); image_item.Activated += OnFindChatMenuItemActivated; menu.Append(image_item); item = new Gtk.MenuItem(_("Find _Next")); item.Activated += OnFindNextChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.G; item.AddAccelerator("activate", agrp, akey); menu.Append(item); item = new Gtk.MenuItem(_("Find _Previous")); item.Activated += OnFindPreviousChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask; akey.Key = Gdk.Key.G; item.AddAccelerator("activate", agrp, akey); menu.Append(item); */ // ROFL: the empty code statement below is needed to keep stupid // gettext away from using all the commented code from above as // translator comment ; _OpenLogChatMenuItem = new Gtk.ImageMenuItem(_("Open Log")); _OpenLogChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Menu); _OpenLogChatMenuItem.Activated += OnOpenLogChatMenuItemActivated; _OpenLogChatMenuItem.Sensitive = false; _OpenLogChatMenuItem.NoShowAll = true; menu.Append(_OpenLogChatMenuItem); _CloseChatMenuItem = new Gtk.ImageMenuItem(Gtk.Stock.Close, agrp); _CloseChatMenuItem.Activated += OnCloseChatMenuItemActivated; _CloseChatMenuItem.AccelCanActivate += AccelCanActivateSensitive; menu.Append(_CloseChatMenuItem); // Menu - Engine menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Engine")); item.Submenu = menu; MenuBar.Append(item); item = new Gtk.MenuItem(_("_Use Local Engine")); item.Activated += new EventHandler(_OnUseLocalEngineButtonClicked); menu.Append(item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(_("_Add Remote Engine")); image_item.Image = new Gtk.Image(Gtk.Stock.Add, Gtk.IconSize.Menu); image_item.Activated += new EventHandler(_OnAddRemoteEngineButtonClicked); menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Switch Remote Engine")); image_item.Image = new Gtk.Image(Gtk.Stock.Refresh, Gtk.IconSize.Menu); image_item.Activated += new EventHandler(_OnSwitchRemoteEngineButtonClicked); menu.Append(image_item); // Menu - View menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_View")); item.Submenu = menu; MenuBar.Append(item); item = new Gtk.CheckMenuItem(_("_Caret Mode")); item.Activated += new EventHandler(_OnCaretModeButtonClicked); akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F7; item.AddAccelerator("activate", agrp, akey); item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(item); item = new Gtk.CheckMenuItem(_("_Browse Mode")); item.Activated += delegate { try { _Notebook.IsBrowseModeEnabled = !_Notebook.IsBrowseModeEnabled; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F8; item.AddAccelerator("activate", agrp, akey); item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(item); ShowMenuBarMenuItem = new Gtk.CheckMenuItem(_("Show _Menubar")); ShowMenuBarMenuItem.Active = (bool) Frontend.FrontendConfig["ShowMenuBar"]; ShowMenuBarMenuItem.Activated += OnShowMenuBarMenuItemActivated; menu.Append(ShowMenuBarMenuItem); ShowStatusBarMenuItem = new Gtk.CheckMenuItem(_("Show _Status Bar")); ShowStatusBarMenuItem.Active = (bool) Frontend.FrontendConfig["ShowStatusBar"]; ShowStatusBarMenuItem.Activated += OnShowStatusBarMenuItemActivated; menu.Append(ShowStatusBarMenuItem); JoinWidget = new JoinWidget(); JoinWidget.NoShowAll = true; JoinWidget.Visible = (bool) Frontend.FrontendConfig["ShowQuickJoin"]; JoinWidget.Activated += OnJoinWidgetActivated; ShowQuickJoinMenuItem = new Gtk.CheckMenuItem(_("Show _Quick Join")); ShowQuickJoinMenuItem.Active = JoinWidget.Visible; ShowQuickJoinMenuItem.Activated += OnShowQuickJoinMenuItemActivated; menu.Append(ShowQuickJoinMenuItem); item = new Gtk.ImageMenuItem(Gtk.Stock.Fullscreen, agrp); item.Activated += delegate { try { IsFullscreen = !IsFullscreen; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F11; item.AddAccelerator("activate", agrp, akey); item.AccelCanActivate += AccelCanActivateSensitive; menu.Append(item); // Menu - Help menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Help")); item.Submenu = menu; MenuBar.Append(item); image_item = new Gtk.ImageMenuItem(Gtk.Stock.About, agrp); image_item.Activated += new EventHandler(_OnAboutButtonClicked); menu.Append(image_item); MenuBar.ShowAll(); MenuBar.NoShowAll = true; MenuBar.Visible = ShowMenuBarMenuItem.Active; // TODO: network treeview _Notebook = new Notebook(); _Notebook.SwitchPage += OnNotebookSwitchPage; _Notebook.FocusInEvent += OnNotebookFocusInEvent; _ChatViewManager = new ChatViewManager(_Notebook, null); Assembly asm = Assembly.GetExecutingAssembly(); _ChatViewManager.Load(asm); _ChatViewManager.LoadAll(System.IO.Path.GetDirectoryName(asm.Location), "smuxi-frontend-gnome-*.dll"); _ChatViewManager.ChatAdded += OnChatViewManagerChatAdded; _ChatViewManager.ChatSynced += OnChatViewManagerChatSynced; _ChatViewManager.ChatRemoved += OnChatViewManagerChatRemoved; #if GTK_SHARP_2_10 _StatusIconManager = new StatusIconManager(this, _ChatViewManager); #endif #if INDICATE_SHARP _IndicateManager = new IndicateManager(this, _ChatViewManager); #endif #if NOTIFY_SHARP _NotifyManager = new NotifyManager(this, _ChatViewManager); #endif #if IPC_DBUS _NetworkManager = new NetworkManager(_ChatViewManager); #endif _UI = new GnomeUI(_ChatViewManager); // HACK: Frontend.FrontendConfig out of scope _EngineManager = new EngineManager(Frontend.FrontendConfig, _UI); _Entry = new Entry(_ChatViewManager); var entryScrolledWindow = new Gtk.ScrolledWindow(); entryScrolledWindow.ShadowType = Gtk.ShadowType.EtchedIn; entryScrolledWindow.HscrollbarPolicy = Gtk.PolicyType.Never; entryScrolledWindow.SizeRequested += delegate(object o, Gtk.SizeRequestedArgs args) { // predict and set useful heigth var layout = _Entry.CreatePangoLayout("Qp"); int lineWidth, lineHeigth; layout.GetPixelSize(out lineHeigth, out lineHeigth); var text = Entry.Text; var newLines = text.Count(f => f == '\n'); // cap to 1-3 lines if (text.Length > 0) { newLines++; newLines = Math.Max(newLines, 1); newLines = Math.Min(newLines, 3); } else { newLines = 1; } // use text heigth + a bit extra var bestSize = new Gtk.Requisition() { Height = (lineHeigth * newLines) + 5 }; args.Requisition = bestSize; }; entryScrolledWindow.Add(_Entry); _ProgressBar = new Gtk.ProgressBar(); _ProgressBar.BarStyle = Gtk.ProgressBarStyle.Continuous; MenuHBox = new Gtk.HBox(); MenuHBox.PackStart(MenuBar, false, false, 0); MenuHBox.PackEnd(JoinWidget, false, false, 0); Gtk.VBox vbox = new Gtk.VBox(); vbox.PackStart(MenuHBox, false, false, 0); vbox.PackStart(_Notebook, true, true, 0); vbox.PackStart(entryScrolledWindow, false, false, 0); _NetworkStatusbar = new Gtk.Statusbar(); _NetworkStatusbar.WidthRequest = 300; _NetworkStatusbar.HasResizeGrip = false; _Statusbar = new Gtk.Statusbar(); _Statusbar.HasResizeGrip = false; Gtk.HBox status_bar_hbox = new Gtk.HBox(); status_bar_hbox.Homogeneous = true; status_bar_hbox.PackStart(_NetworkStatusbar, false, true, 0); status_bar_hbox.PackStart(_Statusbar, true, true, 0); StatusHBox = new Gtk.HBox(); StatusHBox.PackStart(status_bar_hbox); StatusHBox.PackStart(_ProgressBar, false, false, 0); StatusHBox.ShowAll(); StatusHBox.NoShowAll = true; StatusHBox.Visible = ShowStatusBarMenuItem.Active; vbox.PackStart(StatusHBox, false, false, 0); Add(vbox); }
public App() : base("Drag And Drop Complete") { this.SetDefaultSize(250, 200); this.SetPosition(Gtk.WindowPosition.Center); this.DeleteEvent += OnTerminated; this.isChecked = false; this.sBar = new Gtk.Statusbar(); sBar.Push((uint)StatusType.NotChecked, "Not checked"); this.btnDrag = new Gtk.Button("Drag here"); Gtk.Drag.SourceSet (this.btnDrag, Gdk.ModifierType.Button1Mask | Gdk.ModifierType.Button3Mask, null, Gdk.DragAction.Copy | Gdk.DragAction.Move); this.btnDrag.DragDataGet += new Gtk.DragDataGetHandler (HandleSourceDragDataGet); this.btnDrag.DragDataDelete += new Gtk.DragDataDeleteHandler (HandleSourceDragDataDelete); // set drop label as destination this.lblDrop = new Gtk.Label("Drop here"); Gtk.Drag.DestSet(this.lblDrop, 0, null, 0); this.lblDrop.DragMotion += new Gtk.DragMotionHandler (HandleTargetDragMotion); this.lblDrop.DragDrop += new Gtk.DragDropHandler (HandleTargetDragDrop); this.lblDrop.DragDataReceived += new Gtk.DragDataReceivedHandler (this.HandleTargetDragDataReceived); this.lblDrop.DragDrop += new Gtk.DragDropHandler (this.HandleStatBarDragDrop); Gtk.MenuBar bar = new Gtk.MenuBar(); Gtk.MenuItem item = new Gtk.MenuItem("File"); Gtk.Menu menu = new Gtk.Menu(); item.Submenu = menu; bar.Append(item); // accel key Gtk.AccelGroup ag = new Gtk.AccelGroup(); this.AddAccelGroup(ag); item = new Gtk.MenuItem("Quit"); item.Activated += OnTerminated; item.AddAccelerator ("activate", ag, new Gtk.AccelKey (Gdk.Key.Q, Gdk.ModifierType.ControlMask, Gtk.AccelFlags.Visible)); menu.Append(item); Gtk.VBox vbox = new Gtk.VBox(); vbox.PackStart(bar, false, false, 0); Gtk.HBox hbox = new Gtk.HBox(); hbox.PackStart(this.btnDrag, true, true, 0); hbox.PackStart(this.lblDrop, true, true, 0); vbox.PackStart(hbox, true, true, 0); vbox.PackStart(sBar, false, false, 0); this.Add(vbox); this.ShowAll(); }
public MainWindow() : base("Smuxi") { // restore window size / position int width, heigth; if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"] != null) { width = (int)Frontend.FrontendConfig[Frontend.UIName + "/Interface/Width"]; } else { width = 800; } if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/Heigth"] != null) { heigth = (int)Frontend.FrontendConfig[Frontend.UIName + "/Interface/Heigth"]; } else { heigth = 600; } if (width < -1 || heigth < -1) { width = -1; heigth = -1; } if (width == -1 && heigth == -1) { SetDefaultSize(800, 600); Maximize(); } else if (width == 0 && heigth == 0) { // HACK: map 0/0 to default size as it crashes on Windows :/ SetDefaultSize(800, 600); } else { SetDefaultSize(width, heigth); } int x, y; if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/XPosition"] != null) { x = (int)Frontend.FrontendConfig[Frontend.UIName + "/Interface/XPosition"]; } else { x = 0; } if (Frontend.FrontendConfig[Frontend.UIName + "/Interface/YPosition"] != null) { y = (int)Frontend.FrontendConfig[Frontend.UIName + "/Interface/YPosition"]; } else { y = 0; } if (x < 0 || y < 0) { x = 0; y = 0; } if (x == 0 && y == 0) { SetPosition(Gtk.WindowPosition.Center); } else { Move(x, y); } DeleteEvent += OnDeleteEvent; FocusInEvent += OnFocusInEvent; FocusOutEvent += OnFocusOutEvent; WindowStateEvent += OnWindowStateEvent; Gtk.AccelGroup agrp = new Gtk.AccelGroup(); Gtk.AccelKey akey; AddAccelGroup(agrp); // Menu _MenuBar = new Gtk.MenuBar(); Gtk.Menu menu; Gtk.MenuItem item; Gtk.ImageMenuItem image_item; // Menu - File menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_File")); item.Submenu = menu; _MenuBar.Append(item); item = new Gtk.ImageMenuItem(Gtk.Stock.Preferences, agrp); item.Activated += new EventHandler(_OnPreferencesButtonClicked); menu.Append(item); menu.Append(new Gtk.SeparatorMenuItem()); item = new Gtk.ImageMenuItem(Gtk.Stock.Quit, agrp); item.Activated += new EventHandler(_OnQuitButtonClicked); menu.Append(item); // Menu - Server menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Server")); item.Submenu = menu; _MenuBar.Append(item); image_item = new Gtk.ImageMenuItem(_("_Quick Connect")); image_item.Image = new Gtk.Image(Gtk.Stock.Connect, Gtk.IconSize.Menu); image_item.Activated += OnServerQuickConnectButtonClicked; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(Gtk.Stock.Add, agrp); image_item.Activated += OnServerAddButtonClicked; menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Manage")); image_item.Image = new Gtk.Image(Gtk.Stock.Edit, Gtk.IconSize.Menu); image_item.Activated += OnServerManageServersButtonClicked; menu.Append(image_item); // Menu - Chat menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Chat")); item.Submenu = menu; _MenuBar.Append(item); _OpenChatMenuItem = new Gtk.ImageMenuItem(_("Open / Join Chat")); _OpenChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Menu); _OpenChatMenuItem.Activated += OnChatOpenChatButtonClicked; _OpenChatMenuItem.Sensitive = false; menu.Append(_OpenChatMenuItem); _FindGroupChatMenuItem = new Gtk.ImageMenuItem(_("_Find Group Chat")); _FindGroupChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Find, Gtk.IconSize.Menu); _FindGroupChatMenuItem.Activated += OnChatFindGroupChatButtonClicked; _FindGroupChatMenuItem.Sensitive = false; menu.Append(_FindGroupChatMenuItem); image_item = new Gtk.ImageMenuItem(_("C_lear All Activity")); image_item.Image = new Gtk.Image(Gtk.Stock.Clear, Gtk.IconSize.Menu); image_item.Activated += OnChatClearAllActivityButtonClicked; menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(_("_Next Chat")); image_item.Image = new Gtk.Image(Gtk.Stock.GoForward, Gtk.IconSize.Menu); image_item.Activated += OnNextChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.Page_Down; image_item.AddAccelerator("activate", agrp, akey); menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Previous Chat")); image_item.Image = new Gtk.Image(Gtk.Stock.GoBack, Gtk.IconSize.Menu); image_item.Activated += OnPreviousChatMenuItemActivated; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.AccelMods = Gdk.ModifierType.ControlMask; akey.Key = Gdk.Key.Page_Up; image_item.AddAccelerator("activate", agrp, akey); menu.Append(image_item); menu.Append(new Gtk.SeparatorMenuItem()); /* * // TODO: make a radio item for each chat hotkey * Gtk.RadioMenuItem radio_item; * radio_item = new Gtk.RadioMenuItem(); * radio_item = new Gtk.RadioMenuItem(radio_item); * radio_item = new Gtk.RadioMenuItem(radio_item); * * menu.Append(new Gtk.SeparatorMenuItem()); */ /* * image_item = new Gtk.ImageMenuItem(Gtk.Stock.Find, agrp); * image_item.Activated += OnFindChatMenuItemActivated; * menu.Append(image_item); * * item = new Gtk.MenuItem(_("Find _Next")); * item.Activated += OnFindNextChatMenuItemActivated; * akey = new Gtk.AccelKey(); * akey.AccelFlags = Gtk.AccelFlags.Visible; * akey.AccelMods = Gdk.ModifierType.ControlMask; * akey.Key = Gdk.Key.G; * item.AddAccelerator("activate", agrp, akey); * menu.Append(item); * * item = new Gtk.MenuItem(_("Find _Previous")); * item.Activated += OnFindPreviousChatMenuItemActivated; * akey = new Gtk.AccelKey(); * akey.AccelFlags = Gtk.AccelFlags.Visible; * akey.AccelMods = Gdk.ModifierType.ControlMask | Gdk.ModifierType.ShiftMask; * akey.Key = Gdk.Key.G; * item.AddAccelerator("activate", agrp, akey); * menu.Append(item); */ // ROFL: the empty code statement below is needed to keep stupid // gettext away from using all the commented code from above as // translator comment ; _OpenLogChatMenuItem = new Gtk.ImageMenuItem(_("Open Log")); _OpenLogChatMenuItem.Image = new Gtk.Image(Gtk.Stock.Open, Gtk.IconSize.Menu); _OpenLogChatMenuItem.Activated += OnOpenLogChatMenuItemActivated; _OpenLogChatMenuItem.Sensitive = false; _OpenLogChatMenuItem.NoShowAll = true; menu.Append(_OpenLogChatMenuItem); _CloseChatMenuItem = new Gtk.ImageMenuItem(Gtk.Stock.Close, agrp); _CloseChatMenuItem.Activated += OnCloseChatMenuItemActivated; menu.Append(_CloseChatMenuItem); // Menu - Engine menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Engine")); item.Submenu = menu; _MenuBar.Append(item); item = new Gtk.MenuItem(_("_Use Local Engine")); item.Activated += new EventHandler(_OnUseLocalEngineButtonClicked); menu.Append(item); menu.Append(new Gtk.SeparatorMenuItem()); image_item = new Gtk.ImageMenuItem(_("_Add Remote Engine")); image_item.Image = new Gtk.Image(Gtk.Stock.Add, Gtk.IconSize.Menu); image_item.Activated += new EventHandler(_OnAddRemoteEngineButtonClicked); menu.Append(image_item); image_item = new Gtk.ImageMenuItem(_("_Switch Remote Engine")); image_item.Image = new Gtk.Image(Gtk.Stock.Refresh, Gtk.IconSize.Menu); image_item.Activated += new EventHandler(_OnSwitchRemoteEngineButtonClicked); menu.Append(image_item); // Menu - View menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_View")); item.Submenu = menu; _MenuBar.Append(item); item = new Gtk.CheckMenuItem(_("_Caret Mode")); item.Activated += new EventHandler(_OnCaretModeButtonClicked); akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F7; item.AddAccelerator("activate", agrp, akey); menu.Append(item); item = new Gtk.CheckMenuItem(_("_Browse Mode")); item.Activated += delegate { try { _Notebook.IsBrowseModeEnabled = !_Notebook.IsBrowseModeEnabled; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F8; item.AddAccelerator("activate", agrp, akey); menu.Append(item); _ShowMenuBarItem = new Gtk.CheckMenuItem(_("Show _Menubar")); _ShowMenuBarItem.Active = true; _ShowMenuBarItem.Activated += delegate { try { _MenuBar.Visible = !_MenuBar.Visible; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; menu.Append(_ShowMenuBarItem); item = new Gtk.ImageMenuItem(Gtk.Stock.Fullscreen, agrp); item.Activated += delegate { try { IsFullscreen = !IsFullscreen; } catch (Exception ex) { Frontend.ShowException(this, ex); } }; akey = new Gtk.AccelKey(); akey.AccelFlags = Gtk.AccelFlags.Visible; akey.Key = Gdk.Key.F11; item.AddAccelerator("activate", agrp, akey); menu.Append(item); // Menu - Help menu = new Gtk.Menu(); item = new Gtk.MenuItem(_("_Help")); item.Submenu = menu; _MenuBar.Append(item); image_item = new Gtk.ImageMenuItem(Gtk.Stock.About, agrp); image_item.Activated += new EventHandler(_OnAboutButtonClicked); menu.Append(image_item); // TODO: network treeview _Notebook = new Notebook(); _Notebook.SwitchPage += OnNotebookSwitchPage; _ChatViewManager = new ChatViewManager(_Notebook, null); Assembly asm = Assembly.GetExecutingAssembly(); _ChatViewManager.Load(asm); _ChatViewManager.LoadAll(System.IO.Path.GetDirectoryName(asm.Location), "smuxi-frontend-gnome-*.dll"); _ChatViewManager.ChatAdded += OnChatViewManagerChatAdded; _ChatViewManager.ChatSynced += OnChatViewManagerChatSynced; _ChatViewManager.ChatRemoved += OnChatViewManagerChatRemoved; #if GTK_SHARP_2_10 _StatusIconManager = new StatusIconManager(this, _ChatViewManager); #endif #if INDICATE_SHARP _IndicateManager = new IndicateManager(this, _ChatViewManager); #endif #if NOTIFY_SHARP _NotifyManager = new NotifyManager(this, _ChatViewManager); #endif #if IPC_DBUS _NetworkManager = new NetworkManager(_ChatViewManager); #endif _UI = new GnomeUI(_ChatViewManager); // HACK: Frontend.FrontendConfig out of scope _EngineManager = new EngineManager(Frontend.FrontendConfig, _UI); _Entry = new Entry(_ChatViewManager); _ProgressBar = new Gtk.ProgressBar(); _ProgressBar.BarStyle = Gtk.ProgressBarStyle.Continuous; Gtk.VBox vbox = new Gtk.VBox(); vbox.PackStart(_MenuBar, false, false, 0); vbox.PackStart(_Notebook, true, true, 0); vbox.PackStart(_Entry, false, false, 0); _NetworkStatusbar = new Gtk.Statusbar(); _NetworkStatusbar.WidthRequest = 300; _NetworkStatusbar.HasResizeGrip = false; _Statusbar = new Gtk.Statusbar(); _Statusbar.HasResizeGrip = false; Gtk.HBox status_bar_hbox = new Gtk.HBox(); status_bar_hbox.Homogeneous = true; status_bar_hbox.PackStart(_NetworkStatusbar, false, true, 0); status_bar_hbox.PackStart(_Statusbar, true, true, 0); Gtk.HBox status_hbox = new Gtk.HBox(); status_hbox.PackStart(status_bar_hbox); status_hbox.PackStart(_ProgressBar, false, false, 0); vbox.PackStart(status_hbox, false, false, 0); Add(vbox); }
Gtk.Menu GetRightClickMenu () { if (tray.TomboyTrayMenu != null) tray.TomboyTrayMenu.Hide (); if (context_menu != null) { context_menu.Hide (); return context_menu; } context_menu = new Gtk.Menu (); Gtk.AccelGroup accel_group = new Gtk.AccelGroup (); context_menu.AccelGroup = accel_group; Gtk.ImageMenuItem item; sync_menu_item = new Gtk.ImageMenuItem (Catalog.GetString ("S_ynchronize Notes")); sync_menu_item.Image = new Gtk.Image (Gtk.Stock.Convert, Gtk.IconSize.Menu); UpdateMenuItems(); Preferences.SettingChanged += Preferences_SettingChanged; sync_menu_item.Activated += SyncNotes; context_menu.Append (sync_menu_item); context_menu.Append (new Gtk.SeparatorMenuItem ()); item = new Gtk.ImageMenuItem (Catalog.GetString ("_Preferences")); item.Image = new Gtk.Image (Gtk.Stock.Preferences, Gtk.IconSize.Menu); item.Activated += ShowPreferences; context_menu.Append (item); item = new Gtk.ImageMenuItem (Catalog.GetString ("_Help")); item.Image = new Gtk.Image (Gtk.Stock.Help, Gtk.IconSize.Menu); item.Activated += ShowHelpContents; context_menu.Append (item); item = new Gtk.ImageMenuItem (Catalog.GetString ("_About Tomboy")); item.Image = new Gtk.Image (Gtk.Stock.About, Gtk.IconSize.Menu); item.Activated += ShowAbout; context_menu.Append (item); context_menu.Append (new Gtk.SeparatorMenuItem ()); item = new Gtk.ImageMenuItem (Catalog.GetString ("_Quit")); item.Image = new Gtk.Image (Gtk.Stock.Quit, Gtk.IconSize.Menu); item.Activated += Quit; context_menu.Append (item); context_menu.ShowAll (); return context_menu; }