# Just for testing taskbarui dialog

import gc
import os
import sys
import time
import threading
import Queue

from mercurial import demandimport
from mercurial import ui, error
from thgutil.i18n import agettext as _
from thgutil import thread2, paths, shlib

class Logger():
    def __init__(self):
        self.q = None

    def getqueue(self):
        self.q = Queue.Queue()
        return self.q

    def reset(self):
        self.q = None

    def msg(self, msg):
        ts = '[%s] ' % time.strftime('%c')
        if self.q:
            self.q.put(ts + msg)
            print 'L' + ts + msg
        else:
            print ts + msg

logger = Logger()
requests = Queue.Queue(0)

def launchgui():
    def launch():
        import gtk
        from hggtk import taskbarui, hgtk
        dlg = taskbarui.TaskBarUI(logger.getqueue(), requests)
        dlg.show_all()
        dlg.connect('destroy', gtk.main_quit)
        gtk.gdk.threads_init()
        gtk.gdk.threads_enter()
        gtk.main()
        gtk.gdk.threads_leave()
        logger.reset()

    guithread = thread2.Thread(target=launch)
    guithread.start()

if __name__=='__main__':
    launchgui()
