def __init__(self, debug=False): self.app = QApplication(['Turpial'] + sys.argv) Base.__init__(self) QWidget.__init__(self) self.debug = debug for font_path in self.fonts: QFontDatabase.addApplicationFont(font_path) #database = QFontDatabase() #for f in database.families(): # print f self.templates_path = os.path.realpath( os.path.join(os.path.dirname(__file__), 'templates')) self.setWindowTitle('Turpial') self.app.setApplicationName('Turpial') self.setWindowIcon(QIcon(self.get_image_path('turpial.svg'))) self.resize(320, 480) self.center_on_screen() self.ignore_quit = True self.showed = True self.core_ready = False self.timers = {} self.extra_friends = [] self.update_box = UpdateBox(self) self.profile_dialog = ProfileDialog(self) self.profile_dialog.options_clicked.connect(self.show_profile_menu) self.image_view = ImageView(self) self.queue_dialog = QueueDialog(self) self.core = CoreWorker() self.core.ready.connect(self.after_core_initialized) self.core.status_updated.connect(self.after_update_status) self.core.status_broadcasted.connect(self.after_broadcast_status) self.core.status_repeated.connect(self.after_repeat_status) self.core.status_deleted.connect(self.after_delete_status) self.core.message_deleted.connect(self.after_delete_message) self.core.message_sent.connect(self.after_send_message) self.core.column_updated.connect(self.after_update_column) self.core.account_saved.connect(self.after_save_account) self.core.account_loaded.connect(self.after_load_account) self.core.account_deleted.connect(self.after_delete_account) self.core.column_saved.connect(self.after_save_column) self.core.column_deleted.connect(self.after_delete_column) self.core.status_marked_as_favorite.connect( self.after_marking_status_as_favorite) self.core.status_unmarked_as_favorite.connect( self.after_unmarking_status_as_favorite) self.core.fetched_user_profile.connect(self.after_get_user_profile) self.core.urls_shorted.connect(self.update_box.after_short_url) self.core.media_uploaded.connect(self.update_box.after_upload_media) self.core.friends_list_updated.connect( self.update_box.update_friends_list) self.core.user_muted.connect(self.after_mute_user) self.core.user_unmuted.connect(self.after_unmute_user) self.core.user_blocked.connect(self.after_block_user) self.core.user_reported_as_spam.connect(self.after_report_user_as_spam) self.core.user_followed.connect(self.after_follow_user) self.core.user_unfollowed.connect(self.after_unfollow_user) self.core.status_from_conversation.connect( self.after_get_status_from_conversation) self.core.fetched_profile_image.connect(self.after_get_profile_image) self.core.fetched_avatar.connect(self.update_profile_avatar) self.core.fetched_image_preview.connect(self.after_get_image_preview) self.core.status_pushed_to_queue.connect( self.after_push_status_to_queue) self.core.status_poped_from_queue.connect( self.after_pop_status_from_queue) self.core.status_posted_from_queue.connect( self.after_post_status_from_queue) self.core.status_deleted_from_queue.connect( self.after_delete_status_from_queue) self.core.queue_cleared.connect(self.after_clear_queue) self.core.exception_raised.connect(self.on_exception) self.core.start() self._container = Container(self) self.os_notifications = OSNotificationSystem(self.images_path) self.sounds = SoundSystem(self.sounds_path) self.dock = Dock(self) self.dock.accounts_clicked.connect(self.show_accounts_dialog) self.dock.columns_clicked.connect(self.show_column_menu) self.dock.search_clicked.connect(self.show_search_dialog) self.dock.updates_clicked.connect(self.show_update_box) self.dock.messages_clicked.connect( self.show_friends_dialog_for_direct_message) self.dock.queue_clicked.connect(self.show_queue_dialog) #self.dock.filters_clicked.connect(self.show_filters_dialog) self.dock.preferences_clicked.connect(self.show_preferences_dialog) self.tray = TrayIcon(self) self.tray.toggled.connect(self.toggle_tray_icon) self.tray.updates_clicked.connect(self.show_update_box) self.tray.messages_clicked.connect( self.show_friends_dialog_for_direct_message) self.tray.settings_clicked.connect(self.show_preferences_dialog) layout = QVBoxLayout() layout.setSpacing(0) layout.setMargin(0) layout.setContentsMargins(0, 0, 0, 0) layout.addLayout(self._container, 1) layout.addWidget(self.dock) self.setLayout(layout)