Ticket #3553: 0001-Display-only-the-URL-in-the-URL-entry-SL-3553.patch

File 0001-Display-only-the-URL-in-the-URL-entry-SL-3553.patch, 7.6 KB (added by humitos, 12 years ago)
  • browser.py

    From 54a38310d336dc6ffc764b6d6a5efe8ed3a54159 Mon Sep 17 00:00:00 2001
    From: Manuel Kaufmann <humitos@gmail.com>
    Date: Mon, 24 Sep 2012 17:40:34 -0300
    Subject: [PATCH Browse] Display only the URL in the URL entry SL #3553
    
    The Title of the current page is no longer shown in the URL
    entry. Now, it's only shown in the tab and the current URL is visible
    all the time in the URL entry.
    
    Signed-off-by: Manuel Kaufmann <humitos@gmail.com>
    ---
     browser.py    | 13 +++++++++++++
     webtoolbar.py | 53 +++++------------------------------------------------
     2 files changed, 18 insertions(+), 48 deletions(-)
    
    diff --git a/browser.py b/browser.py
    index de546f2..1c67beb 100644
    a b class Browser(WebKit.WebView): 
    453453        # Scale text and graphics:
    454454        self.set_full_content_zoom(True)
    455455
     456        # This property is used to set the title immediatly the user
     457        # presses Enter on the URL Entry
     458        self._loading_uri = None
     459
    456460        # Reference to the global history and callbacks to handle it:
    457461        self._global_history = globalhistory.get_global_history()
    458462        self.connect('notify::load-status', self.__load_status_changed_cb)
    class Browser(WebKit.WebView): 
    542546    def open_new_tab(self, url):
    543547        self.emit('new-tab', url)
    544548
     549    def _set_loading_uri(self, uri):
     550        self._loading_uri = uri
     551
     552    def _get_loading_uri(self):
     553        return self._loading_uri
     554
     555    loading_uri = GObject.property(type=str, setter=_set_loading_uri,
     556                                   getter=_get_loading_uri)
     557
    545558    def __run_file_chooser(self, browser, request):
    546559        picker = FilePicker(self)
    547560        chosen = picker.run()
  • webtoolbar.py

    diff --git a/webtoolbar.py b/webtoolbar.py
    index 28bc015..1d531bc 100644
    a b class WebEntry(iconentry.IconEntry): 
    4747        GObject.GObject.__init__(self)
    4848
    4949        self._address = None
    50         self._title = None
    5150        self._search_view = self._search_create_view()
    5251
    5352        self._search_window = Gtk.Window(type=Gtk.WindowType.POPUP)
    class WebEntry(iconentry.IconEntry): 
    5756        self.connect('focus-in-event', self.__focus_in_event_cb)
    5857        self.connect('populate-popup', self.__populate_popup_cb)
    5958        self.connect('key-press-event', self.__key_press_event_cb)
    60         self.connect('enter-notify-event', self.__enter_notify_event_cb)
    61         self.connect('leave-notify-event', self.__leave_notify_event_cb)
    6259        self._focus_out_hid = self.connect(
    6360                    'focus-out-event', self.__focus_out_event_cb)
    6461        self._change_hid = self.connect('changed', self.__changed_cb)
    class WebEntry(iconentry.IconEntry): 
    7976
    8077    def _set_address(self, address):
    8178        self._address = address
    82         if address is not None and self.props.has_focus:
     79        if address is not None:
    8380            self._set_text(address)
    8481
    8582    address = GObject.property(type=str, setter=_set_address)
    8683
    87     def _set_title(self, title):
    88         self._title = title
    89         if title is not None and not self.props.has_focus:
    90             self._set_text(title)
    91 
    92     title = GObject.property(type=str, setter=_set_title)
    93 
    9484    def _search_create_view(self):
    9585        view = Gtk.TreeView()
    9686        view.props.headers_visible = False
    class WebEntry(iconentry.IconEntry): 
    146136        self._search_window.hide()
    147137
    148138    def __focus_in_event_cb(self, entry, event):
    149         self._set_text(self._address)
    150139        self._search_popdown()
    151140
    152141    def __focus_out_event_cb(self, entry, event):
    153         self._set_text(self._title)
    154142        self._search_popdown()
    155143
    156     def __enter_notify_event_cb(self, entry, event):
    157         if not entry.props.has_focus:
    158             self._set_text(self._address)
    159 
    160     def __leave_notify_event_cb(self, entry, event):
    161         if not entry.props.has_focus:
    162             self._set_text(self._title)
    163 
    164144    def __view_button_press_event_cb(self, view, event):
    165145        model = view.get_model()
    166146
    class PrimaryToolbar(ToolbarBase): 
    241221        self._tabbed_view = tabbed_view
    242222
    243223        self._loading = False
    244         self._title = _('Untitled')
    245224
    246225        toolbar = self.toolbar
    247226        activity_button = ActivityToolbarButton(self._activity)
    class PrimaryToolbar(ToolbarBase): 
    310289        self._loading_changed_hid = None
    311290        self._progress_changed_hid = None
    312291        self._session_history_changed_hid = None
    313         self._title_changed_hid = None
    314292        self._uri_changed_hid = None
    315293
    316294        if tabbed_view.get_n_pages():
    class PrimaryToolbar(ToolbarBase): 
    324302
    325303    def _connect_to_browser(self, browser):
    326304        if self._browser is not None:
    327             self._browser.disconnect(self._title_changed_hid)
    328305            self._browser.disconnect(self._uri_changed_hid)
    329306            self._browser.disconnect(self._progress_changed_hid)
    330307            self._browser.disconnect(self._loading_changed_hid)
    331308
    332309        self._browser = browser
    333         if self._browser.props.title:
    334             self._set_title(self._browser.props.title)
    335         else:
    336             self._set_title(_('Untitled'))
    337         self._set_address(self._browser.props.uri)
     310        address = self._browser.props.uri or self._browser.props.loading_uri
     311        self._set_address(address)
    338312        self._set_progress(self._browser.props.progress)
    339313        self._set_status(self._browser.props.load_status)
    340314
    341315        is_webkit_browser = isinstance(self._browser, Browser)
    342316        self.entry.props.editable = is_webkit_browser
    343317
    344         self._title_changed_hid = self._browser.connect(
    345                 'notify::title', self._title_changed_cb)
    346318        self._uri_changed_hid = self._browser.connect(
    347319                'notify::uri', self.__uri_changed_cb)
    348320        self._progress_changed_hid = self._browser.connect(
    class PrimaryToolbar(ToolbarBase): 
    353325        self._update_navigation_buttons()
    354326
    355327    def __loading_changed_cb(self, widget, param):
    356         status = widget.get_load_status()
    357         if status == WebKit.LoadStatus.FAILED:
    358             self.entry._set_title(self._title)
    359         elif WebKit.LoadStatus.PROVISIONAL <= status \
    360                 < WebKit.LoadStatus.FINISHED:
    361             self.entry._set_title(_('Loading...'))
    362         elif status == WebKit.LoadStatus.FINISHED:
    363             if widget.props.title == None:
    364                 self.entry._set_title(_('Untitled'))
    365                 self._title = _('Untitled')
    366328        self._set_status(widget.get_load_status())
    367329
    368330    def __progress_changed_cb(self, widget, param):
    class PrimaryToolbar(ToolbarBase): 
    383345        else:
    384346            self.entry.props.address = uri
    385347
    386     def _set_title(self, title):
    387         self.entry.props.title = title
    388         self._title = title
    389 
    390348    def _show_stop_icon(self):
    391349        self.entry.set_icon_from_name(iconentry.ICON_ENTRY_SECONDARY,
    392350                                      'browse-dialog-cancel')
    class PrimaryToolbar(ToolbarBase): 
    412370        url = entry.props.text
    413371        effective_url = self._tabbed_view.normalize_or_autosearch_url(url)
    414372        self._browser.load_uri(effective_url)
     373        self._browser.props.loading_uri = effective_url
     374        self.entry.props.address = effective_url
    415375        self._browser.grab_focus()
    416376
    417377    def _go_home_cb(self, button):
    class PrimaryToolbar(ToolbarBase): 
    423383    def _go_forward_cb(self, button):
    424384        self._browser.go_forward()
    425385
    426     def _title_changed_cb(self, widget, param):
    427         self._set_title(widget.get_title())
    428 
    429386    def __uri_changed_cb(self, widget, param):
    430387        self._set_address(widget.get_uri())
    431388        self._update_navigation_buttons()