~leo.robol/lum/trunk

« back to all changes in this revision

Viewing changes to src/lum/interface/utilities.py

  • Committer: Leonardo Robol
  • Date: 2010-09-19 15:31:17 UTC
  • Revision ID: git-v1:281ceece5234622daba78fabf0efaf6cc893693c
Moved source to better suit setup.py

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#
 
2
# -*- coding: utf-8 -*-
 
3
#
 
4
 
 
5
import gtk, gettext, locale, os
 
6
 
 
7
 
 
8
# Internationalization support
 
9
gettext.bindtextdomain("lum", "locale")
 
10
gettext.textdomain("lum")
 
11
try:
 
12
    locale.setlocale(locale.LC_ALL, locale.getdefaultlocale())
 
13
except locale.Error:
 
14
    print "Unable to load localized strings"
 
15
_ = gettext.gettext
 
16
 
 
17
package_dir = os.path.realpath(os.path.join(__file__,
 
18
                                           os.path.pardir))
 
19
 
 
20
def show_error_dialog(message):
 
21
    """Show an error dialog with message"""
 
22
 
 
23
    dialog = gtk.MessageDialog(type = gtk.MESSAGE_ERROR,
 
24
                               buttons = gtk.BUTTONS_OK)
 
25
    dialog.set_title ("Ldap User Manager")
 
26
    dialog.set_markup(message)
 
27
 
 
28
    dialog.run()
 
29
    dialog.destroy()
 
30
 
 
31
 
 
32
def ask_question(message):
 
33
    """Ask a question to the user"""
 
34
    dialog = gtk.MessageDialog(type = gtk.MESSAGE_QUESTION,
 
35
                               buttons = gtk.BUTTONS_YES_NO)
 
36
    dialog.set_title("Ldap User Manager")
 
37
    dialog.set_markup(message)
 
38
    
 
39
    if dialog.run() == gtk.RESPONSE_YES:
 
40
        dialog.destroy()
 
41
        return True
 
42
    else:
 
43
        dialog.destroy()
 
44
        return False
 
45
 
 
46
def create_builder(interface_file):
 
47
    """Create a gtk.Builder loading the
 
48
    right interface file"""
 
49
    
 
50
    builder = gtk.Builder()
 
51
    try:
 
52
        builder.set_translation_domain("lum")
 
53
    except locale.Error:
 
54
        print "Unable to load localized interface"
 
55
 
 
56
    builder.add_from_file(os.path.join(package_dir,
 
57
                                       os.path.join("ui", interface_file)))
 
58
 
 
59
    return builder
 
60