# import gtkhtml2
# has_webkit=False
from os.path import isfile, isdir, exists
-from os import mkdir, remove, stat
+from os import mkdir, remove, stat, environ
import gobject
from aboutdialog import HeAboutDialog
from portrait import FremantleRotation
self.window.show_all()
self.config = Config(self.window, CONFIGDIR+"config.ini")
gobject.idle_add(self.createWindow)
+
+ # This is set to try when the user interacts with the program.
+ # If, after an update is complete, we discover that the
+ # environment variable DBUS_STARTED_ADDRESS is set and
+ # self.had_interaction is False, we quit.
+ self.had_interaction = False
def createWindow(self):
self.category = 0
self.updateDbusHandler.UpdateFinished()
self.updateDbusHandler.ArticleCountUpdated()
+ if not self.had_interaction and 'DBUS_STARTER_ADDRESS' in environ:
+ print "Update complete. No interaction, started by dbus: quitting."
+ self.quit()
def stop_running_update(self, button):
self.stopButton.set_sensitive(False)
import dbus
self.system_inactivity_ind)
def button_markAll(self, button):
+ self.had_interaction = True
for key in self.listing.getListOfFeeds():
feed = self.listing.getFeed(key)
feed.markAllAsRead()
self.displayListing()
def button_about_clicked(self, button):
+ self.had_interaction = True
HeAboutDialog.present(self.window, \
__appname__, \
ABOUT_ICON, \
ABOUT_DONATE)
def button_export_clicked(self, button):
+ self.had_interaction = True
opml = ExportOpmlData(self.window, self.listing)
def button_import_clicked(self, button):
+ self.had_interaction = True
opml = GetOpmlData(self.window)
feeds = opml.getData()
for (title, url) in feeds:
self.displayListing()
def addFeed(self, urlIn="http://"):
+ self.had_interaction = True
wizard = AddWidgetWizard(self.window, self.listing, urlIn, self.listing.getListOfCategories())
ret = wizard.run()
if ret == 2:
self.displayListing()
def button_organize_clicked(self, button):
+ self.had_interaction = True
def after_closing():
self.displayListing()
SortList(self.window, self.listing, self, after_closing)
def button_update_clicked(self, button, key):
+ self.had_interaction = True
for k in self.listing.getListOfFeeds():
self.listing.updateFeed (k)
#self.displayListing()
self.updateDbusHandler.ArticleCountUpdated()
def button_preferences_clicked(self, button):
+ self.had_interaction = True
dialog = self.config.createDialog()
dialog.connect("destroy", self.prefsClosed)
# pass
def on_feedList_row_activated(self, treeview, path, column):
+ self.had_interaction = True
model = treeview.get_model()
iter = model.get_iter(path)
key = model.get_value(iter, COLUMN_KEY)