[GRASS-SVN] r67244 - in grass/trunk/gui/wxpython: gui_core lmgr
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Dec 19 02:35:57 PST 2015
Author: martinl
Date: 2015-12-19 02:35:57 -0800 (Sat, 19 Dec 2015)
New Revision: 67244
Modified:
grass/trunk/gui/wxpython/gui_core/dialogs.py
grass/trunk/gui/wxpython/gui_core/ghelp.py
grass/trunk/gui/wxpython/lmgr/frame.py
Log:
wxGUI: replace message dialog with customized QuitDialog
Modified: grass/trunk/gui/wxpython/gui_core/dialogs.py
===================================================================
--- grass/trunk/gui/wxpython/gui_core/dialogs.py 2015-12-19 10:16:10 UTC (rev 67243)
+++ grass/trunk/gui/wxpython/gui_core/dialogs.py 2015-12-19 10:35:57 UTC (rev 67244)
@@ -16,6 +16,7 @@
- :class:`ImageSizeDialog`
- :class:`SqlQueryFrame`
- :class:`SymbolDialog`
+ - :class:`QuitDialog`
(C) 2008-2015 by the GRASS Development Team
@@ -2096,3 +2097,57 @@
self.SetSizer(sizer)
sizer.Fit(self)
+
+class QuitDialog(wx.Dialog):
+ def __init__(self, parent, title=_("Quit GRASS GIS"), id=wx.ID_ANY,
+ style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER,
+ size=(350, 150), **kwargs):
+ """Dialog to quit GRASS
+
+ :param parent: window
+ """
+ wx.Dialog.__init__(self, parent, id, title, style=style, size=size, **kwargs)
+ self.panel = wx.Panel(parent = self, id = wx.ID_ANY)
+
+ self.informLabel = wx.StaticText(parent=self.panel, id=wx.ID_ANY,
+ label=_("Do you want to quit GRASS including shell "
+ "prompt or just close the GUI?"))
+ self.btnCancel = wx.Button(parent = self.panel, id = wx.ID_CANCEL)
+ self.btnClose = wx.Button(parent = self.panel, id = wx.ID_NO,
+ label=_("Close GUI"))
+ self.btnQuit = wx.Button(parent = self.panel, id = wx.ID_YES,
+ label=_("Quit GRASS"))
+ self.btnQuit.SetDefault()
+
+ self.btnClose.Bind(wx.EVT_BUTTON, self.OnClose)
+ self.btnQuit.Bind(wx.EVT_BUTTON, self.OnQuit)
+
+ self.__layout()
+
+ def __layout(self):
+ """Do layout"""
+ sizer = wx.BoxSizer(wx.VERTICAL)
+
+ btnSizer = wx.BoxSizer(wx.HORIZONTAL)
+ btnSizer.Add(item=self.btnCancel, flag=wx.RIGHT, border=5)
+ btnSizer.Add(item=self.btnClose, flag=wx.RIGHT, border=5)
+ btnSizer.Add(item=self.btnQuit, flag=wx.RIGHT, border=5)
+
+ sizer.Add(item = self.informLabel, proportion = 1,
+ flag = wx.EXPAND | wx.ALL, border = 25)
+ sizer.Add(item = btnSizer, proportion = 0,
+ flag = wx.ALL | wx.ALIGN_RIGHT, border = 5)
+
+ self.panel.SetSizer(sizer)
+ sizer.Fit(self.panel)
+ self.Layout()
+
+ def OnClose(self, event):
+ self.Close()
+ self.EndModal(wx.ID_NO)
+ event.Skip()
+
+ def OnQuit(self, event):
+ self.Close()
+ self.EndModal(wx.ID_YES)
+ event.Skip()
Modified: grass/trunk/gui/wxpython/gui_core/ghelp.py
===================================================================
--- grass/trunk/gui/wxpython/gui_core/ghelp.py 2015-12-19 10:16:10 UTC (rev 67243)
+++ grass/trunk/gui/wxpython/gui_core/ghelp.py 2015-12-19 10:35:57 UTC (rev 67244)
@@ -9,7 +9,7 @@
- ghelp::HelpWindow
- ghelp::HelpPanel
-(C) 2008-2014 by the GRASS Development Team
+(C) 2008-2015 by the GRASS Development Team
This program is free software under the GNU General Public License
(>=v2). Read the file COPYING that comes with GRASS for details.
Modified: grass/trunk/gui/wxpython/lmgr/frame.py
===================================================================
--- grass/trunk/gui/wxpython/lmgr/frame.py 2015-12-19 10:16:10 UTC (rev 67243)
+++ grass/trunk/gui/wxpython/lmgr/frame.py 2015-12-19 10:35:57 UTC (rev 67244)
@@ -8,7 +8,7 @@
Classes:
- frame::GMFrame
-(C) 2006-2014 by the GRASS Development Team
+(C) 2006-2015 by the GRASS Development Team
This program is free software under the GNU General Public License
(>=v2). Read the file COPYING that comes with GRASS for details.
@@ -57,7 +57,7 @@
from core.giface import Notification
from gui_core.goutput import GConsoleWindow, GC_SEARCH, GC_PROMPT
from modules.import_export import GdalOutputDialog, DxfImportDialog, GdalImportDialog
-from gui_core.dialogs import LocationDialog, MapsetDialog, CreateNewVector, GroupDialog, MapLayersDialog
+from gui_core.dialogs import LocationDialog, MapsetDialog, CreateNewVector, GroupDialog, MapLayersDialog, QuitDialog
from modules.colorrules import RasterColorTable, VectorColorTable
from gui_core.menu import Menu, SearchModuleWindow
from gmodeler.model import Model
@@ -2210,17 +2210,9 @@
Ask user also to quit GRASS including terminal
"""
- dlg = wx.MessageDialog(self,
- message = _("Do you want to quit GRASS GIS?\n\n"
- "Press 'Yes' to quit GRASS GUI and shell.\n"
- "Press 'No' to close only GRASS GUI.\n"
- "Press 'Cancel' to cancel this operation."),
- caption = _("Quit GRASS GIS?"),
- style = wx.YES_NO | wx.YES_DEFAULT |
- wx.CANCEL | wx.ICON_QUESTION | wx.CENTRE)
+ dlg = QuitDialog(self)
ret = dlg.ShowModal()
dlg.Destroy()
-
if ret != wx.ID_CANCEL:
self._closeWindow()
if ret == wx.ID_YES:
More information about the grass-commit
mailing list