51 lines
2.3 KiB
Python
51 lines
2.3 KiB
Python
|
#
|
||
|
# Copyright (C) 2015 Red Hat, Inc.
|
||
|
#
|
||
|
# This program is free software; you can redistribute it and/or modify
|
||
|
# it under the terms of the GNU Lesser General Public License as published
|
||
|
# by the Free Software Foundation; either version 2.1 of the License, or
|
||
|
# (at your option) any later version.
|
||
|
#
|
||
|
# This program is distributed in the hope that it will be useful,
|
||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
# GNU Lesser General Public License for more details.
|
||
|
#
|
||
|
# You should have received a copy of the GNU Lesser General Public License
|
||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
#
|
||
|
|
||
|
from gladecheck import GladeTest
|
||
|
|
||
|
class CheckTranslatableTreeview(GladeTest):
|
||
|
def checkGlade(self, glade_tree):
|
||
|
"""Check that unshown GtkTreeview column headers are not translatable.
|
||
|
|
||
|
These values are not displayed and should not be translated.
|
||
|
"""
|
||
|
|
||
|
# Look for
|
||
|
# <object class="GtkTreeView">
|
||
|
# <property name="headers_visible">False</property>
|
||
|
# ...
|
||
|
# <child>
|
||
|
# <object class="GtkTreeViewColumn">
|
||
|
# <property name="title" translatable="yes">...
|
||
|
|
||
|
for translatable in glade_tree.xpath(".//object[@class='GtkTreeView' and ./property[@name='headers_visible' and ./text() = 'False']]/child/object[@class='GtkTreeViewColumn']/property[@name='title' and @translatable='yes']"):
|
||
|
raise AssertionError("Translatable, hidden column found at %s:%d" % (translatable.base, translatable.sourceline))
|
||
|
|
||
|
class CheckTranslatableNotebook(GladeTest):
|
||
|
def checkGlade(self, glade_tree):
|
||
|
"""Check that unshown GtkNotebook tabs are not translatable."""
|
||
|
|
||
|
# Look for
|
||
|
# <object class="GtkNotebook">
|
||
|
# <property name="show_tabs">False</property>
|
||
|
# ...
|
||
|
# <child type="tab">
|
||
|
# ... (probably a GtkLabel but doesn't have to be)
|
||
|
# <property name="label" translatable="yes">...
|
||
|
for translatable in glade_tree.xpath(".//object[@class='GtkNotebook' and ./property[@name='show_tabs' and ./text() = 'False']]/child[@type='tab']//property[@name='label' and @translatable='yes']"):
|
||
|
raise AssertionError("Translatable, hidden tab found at %s:%d" % (translatable.base, translatable.sourceline))
|