~leo.robol/lum/trunk

« back to all changes in this revision

Viewing changes to 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