~ubuntu-branches/ubuntu/oneiric/emesene/oneiric-proposed

« back to all changes in this revision

Viewing changes to emesene/gui/gtkui/__init__.py

  • Committer: Bazaar Package Importer
  • Author(s): Devid Antonio Filoni
  • Date: 2011-03-03 14:49:13 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20110303144913-0adl9cmw2s35lvzo
Tags: 2.0~git20110303-0ubuntu1
* New upstream git revision (LP: #728469).
* Remove debian/watch, debian/emesene.xpm, debian/install and
  debian/README.source files.
* Remove 21_svn2451_fix_avatar and 20_dont_build_own_libmimic patches.
* debian/control: modify python to python (>= 2.5) in Build-Depends field.
* debian/control: remove python-libmimic from Recommends field.
* debian/control: modify python-gtk2 (>= 2.10) to python-gtk2 (>= 2.12) in
  Depends field.
* debian/control: add python-appindicator and python-xmpp to Recommends
  field.
* debian/control: add python-papyon (>= 0.5.4) and python-webkit to Depends
  field.
* debian/control: update Description field.
* debian/control: add python-setuptools to Build-Depends field.
* debian/control: move python-dbus and python-notify to Depends field.
* Update debian/copyright file.
* Update debian/links file.
* debian/menu: update description field.
* Bump Standards-Version to 3.9.1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
 
 
3
#    This file is part of emesene.
 
4
#
 
5
#    emesene is free software; you can redistribute it and/or modify
 
6
#    it under the terms of the GNU General Public License as published by
 
7
#    the Free Software Foundation; either version 3 of the License, or
 
8
#    (at your option) any later version.
 
9
#
 
10
#    emesene is distributed in the hope that it will be useful,
 
11
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
#    GNU General Public License for more details.
 
14
#
 
15
#    You should have received a copy of the GNU General Public License
 
16
#    along with emesene; if not, write to the Free Software
 
17
#    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
18
 
 
19
import extension
 
20
 
 
21
WEBKITERROR = False
 
22
INDICATORERROR = False
 
23
INFOBARERROR = False
 
24
 
 
25
def gtk_main(Controller):
 
26
    """ main method for gtk frontend
 
27
    """
 
28
    global WEBKITERROR, INDICATORERROR, INFOBARERROR
 
29
 
 
30
    import gtk
 
31
    import gobject
 
32
 
 
33
    import AccountMenu
 
34
    import Avatar
 
35
    import AvatarChooser
 
36
    import CallWidget
 
37
    import config_gtk
 
38
    import ContactMenu
 
39
    import ContactList
 
40
    import ContactInfo
 
41
    import Conversation
 
42
    import ConversationManager
 
43
    import ConversationToolbar
 
44
    import DebugWindow
 
45
    import Dialog
 
46
    import EmptyWidget
 
47
    import FileTransferBarWidget
 
48
    import FileTransferWidget
 
49
    import GroupMenu
 
50
    import GtkNotification
 
51
    import ThemeNotification
 
52
    import PyNotification
 
53
    import Header
 
54
    import ImageAreaSelector
 
55
    import ImageChooser
 
56
 
 
57
    try:
 
58
        import Indicator
 
59
    except ImportError:
 
60
        INDICATORERROR = True
 
61
 
 
62
    import Login
 
63
    import MainMenu
 
64
    import MainWindow
 
65
 
 
66
    try:
 
67
        import InfoBar
 
68
    except ImportError:
 
69
        INFOBARERROR = True
 
70
    import NiceBar
 
71
 
 
72
    import PluginWindow
 
73
    import Preferences
 
74
    import Renderers
 
75
    import StatusMenu
 
76
    import TabWidget
 
77
    import TextBox
 
78
    import TrayIcon
 
79
    import UserPanel
 
80
    import Window
 
81
 
 
82
    try:
 
83
        import AdiumTextBox
 
84
    except ImportError:
 
85
        WEBKITERROR = True
 
86
    
 
87
    import PictureHandler
 
88
 
 
89
    setup()
 
90
    gobject.threads_init()
 
91
    gtk.gdk.threads_init()
 
92
    gtk.gdk.threads_enter()
 
93
    controller = Controller()
 
94
    controller.start()
 
95
    gtk.quit_add(0, controller.on_close)
 
96
    gtk.main()
 
97
    gtk.gdk.threads_leave()
 
98
 
 
99
 
 
100
gtk_main.NAME = "Gtk main function"
 
101
gtk_main.DESCRIPTION  = "This extensions uses Gtk to build the GUI"
 
102
gtk_main.AUTHOR = "marianoguerra"
 
103
gtk_main.WEBSITE = "emesene.org"
 
104
 
 
105
extension.category_register('main', gtk_main)
 
106
 
 
107
def setup():
 
108
    """
 
109
    define all the components for a gtk environment
 
110
    """
 
111
    global WEBKITERROR, INDICATORERROR, INFOBARERROR
 
112
 
 
113
    import gtk
 
114
    gtk.settings_get_default().set_property("gtk-error-bell", False)
 
115
 
 
116
    extension.category_register('dialog', Dialog.Dialog)
 
117
    extension.category_register('image chooser', ImageChooser.ImageChooser)
 
118
    extension.category_register('avatar chooser', AvatarChooser.AvatarChooser)
 
119
    extension.category_register('avatar', Avatar.Avatar)
 
120
    extension.category_register('avatar renderer', Renderers.AvatarRenderer)
 
121
 
 
122
    extension.category_register('preferences', Preferences.Preferences,
 
123
            single_instance=True)
 
124
    extension.category_register('login window', Login.Login)
 
125
    extension.category_register('connecting window', Login.ConnectingWindow)
 
126
    extension.category_register('window frame', Window.Window)
 
127
    extension.category_register('main window', MainWindow.MainWindow)
 
128
    extension.category_register('contact list', ContactList.ContactList)
 
129
    extension.category_register('nick renderer', Renderers.CellRendererPlus)
 
130
    extension.register('nick renderer', Renderers.CellRendererNoPlus)
 
131
    extension.category_register('user panel', UserPanel.UserPanel)
 
132
 
 
133
    if not INDICATORERROR:
 
134
        extension.category_register('tray icon', Indicator.Indicator)
 
135
        extension.register('tray icon', TrayIcon.TrayIcon)
 
136
    else:
 
137
        extension.category_register('tray icon', TrayIcon.TrayIcon)
 
138
 
 
139
    extension.category_register('debug window', DebugWindow.DebugWindow)
 
140
 
 
141
    if not INFOBARERROR:
 
142
        extension.category_register('nice bar', InfoBar.NiceBar)
 
143
        extension.register('nice bar', NiceBar.NiceBar)
 
144
    else:
 
145
        extension.category_register('nice bar', NiceBar.NiceBar)
 
146
 
 
147
    extension.category_register('main menu', MainMenu.MainMenu)
 
148
    extension.category_register('menu file', MainMenu.FileMenu)
 
149
    extension.category_register('menu actions', MainMenu.ActionsMenu)
 
150
    extension.category_register('menu options', MainMenu.OptionsMenu)
 
151
    extension.category_register('menu contact', ContactMenu.ContactMenu)
 
152
    extension.category_register('menu group', GroupMenu.GroupMenu)
 
153
    extension.category_register('menu account', AccountMenu.AccountMenu)
 
154
    extension.category_register('menu help', MainMenu.HelpMenu)
 
155
    extension.category_register('menu status', StatusMenu.StatusMenu)
 
156
 
 
157
    extension.category_register('below menu', EmptyWidget.EmptyWidget)
 
158
    extension.category_register('below panel', EmptyWidget.EmptyWidget)
 
159
    extension.category_register('below userlist', EmptyWidget.EmptyWidget)
 
160
 
 
161
    extension.category_register('call widget', CallWidget.CallWindow)
 
162
    extension.category_register('conversation window', \
 
163
        ConversationManager.ConversationManager)
 
164
    extension.category_register('conversation', Conversation.Conversation)
 
165
    extension.category_register('conversation header', Header.Header)
 
166
    extension.category_register('conversation info', ContactInfo.ContactInfo)
 
167
    extension.category_register('conversation tab', TabWidget.TabWidget)
 
168
    extension.category_register('conversation input', TextBox.InputText)
 
169
    extension.category_register('conversation toolbar', \
 
170
        ConversationToolbar.ConversationToolbar)
 
171
    extension.category_register('plugin window', \
 
172
        PluginWindow.PluginWindow)
 
173
    extension.category_register('preferences dialog', config_gtk.build_window)
 
174
    extension.category_register('image area selector', ImageAreaSelector.ImageAreaSelectorDialog)
 
175
    extension.category_register('filetransfer pool', FileTransferBarWidget.FileTransferBarWidget)
 
176
    extension.category_register('filetransfer widget', FileTransferWidget.FileTransferWidget)
 
177
 
 
178
    if not WEBKITERROR:
 
179
        extension.category_register('conversation output', AdiumTextBox.OutputText)
 
180
        extension.register('conversation output', TextBox.OutputText)
 
181
    else:
 
182
        extension.category_register('conversation output', TextBox.OutputText)
 
183
 
 
184
    extension.category_register(('notificationGUI'), ThemeNotification.themeNotification)
 
185
 
 
186
    extension.register(('notificationGUI'), PyNotification.pyNotification)
 
187
 
 
188
    extension.register(('notificationGUI'), GtkNotification.gtkNotification)
 
189
    
 
190
    extension.category_register('picture handler', PictureHandler.PictureHandler)
 
191