# Copyright (C) 2006 by Szilveszter Farkas (Phanatic) <szilveszter.farkas@gmail.com>## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USAimportgtkfromtortoisehg.util.i18nimport_fromtortoisehg.utilimporthglibfromtortoisehg.hgtkimportgtklibdefentry_dialog(parent,msg,visible=True,default='',respfunc=None):""" Allow a user to enter a text string (username/password) :param message: the message you want to display. :param visible: should reponse be visible to user :param default: default response text :param respfunc: callback function for when dialog exits :returns if respfunc returns dialog, else return response text """buttons=(gtk.STOCK_OK,gtk.RESPONSE_OK,gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL)dialog=gtk.Dialog(parent=parent,flags=gtk.DIALOG_MODAL,buttons=buttons)dialog.set_title(_('TortoiseHg Prompt'))dialog.set_has_separator(False)entry=gtk.Entry()entry.set_text(defaultor'')entry.set_visibility(visible)entry.set_activates_default(True)lbl=gtk.Label(hglib.toutf(msg))lbl.set_alignment(0,0.5)dialog.vbox.pack_start(lbl,True,True,6)dialog.vbox.pack_start(entry,False,False,6)dialog.set_default_response(gtk.RESPONSE_OK)dialog.show_all()ifrespfunc:dialog.connect('response',respfunc)dialog.entry=entryreturndialogelse:response=dialog.run()ifresponse==gtk.RESPONSE_OK:text=entry.get_text()else:text=Nonedialog.destroy()returntext# TODO: Deprecate and remove thesedef_message_dialog(parent,type,primary,secondary,buttons=gtk.BUTTONS_OK,title="TortoiseHg"):""" Display a given type of MessageDialog with the given message. :param type: message dialog type :param message: the message you want to display. """dialog=gtklib.MessageDialog(parent,flags=gtk.DIALOG_MODAL,type=type,buttons=buttons)dialog.set_title(title)dialog.set_markup('<big><b>'+primary+'</b></big>')dialog.format_secondary_text(secondary)dialog.set_position(gtk.WIN_POS_MOUSE)response=dialog.run()dialog.destroy()returnresponsedeferror_dialog(parent,primary,secondary):""" Display an error dialog with the given message. """return_message_dialog(parent,gtk.MESSAGE_ERROR,primary,secondary)definfo_dialog(parent,primary,secondary):""" Display an info dialog with the given message. """return_message_dialog(parent,gtk.MESSAGE_INFO,primary,secondary)defwarning_dialog(parent,primary,secondary):""" Display a warning dialog with the given message. """return_message_dialog(parent,gtk.MESSAGE_WARNING,primary,secondary)