Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
gajim
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
eta
gajim
Commits
ce9cbe6f
Commit
ce9cbe6f
authored
18 years ago
by
Liorithiel
Browse files
Options
Downloads
Patches
Plain Diff
Reporting errors and no-commands-exposed.
parent
145cdbbf
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
data/glade/adhoc_commands_window.glade
+161
-130
161 additions, 130 deletions
data/glade/adhoc_commands_window.glade
src/adhoc_commands.py
+68
-4
68 additions, 4 deletions
src/adhoc_commands.py
with
229 additions
and
134 deletions
data/glade/adhoc_commands_window.glade
+
161
−
130
View file @
ce9cbe6f
...
...
@@ -92,26 +92,7 @@
</child>
<child>
<widget
class=
"GtkLabel"
id=
"label250"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
></property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"type"
>
tab
</property>
</packing>
<placeholder/>
</child>
<child>
...
...
@@ -157,6 +138,41 @@
<property
name=
"fill"
>
True
</property>
</packing>
</child>
<child>
<widget
class=
"GtkHBox"
id=
"hbox2957"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"homogeneous"
>
False
</property>
<property
name=
"spacing"
>
0
</property>
<child>
<placeholder/>
</child>
<child>
<widget
class=
"GtkButton"
id=
"check_commands_1_button"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can_focus"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
Check once more
</property>
<property
name=
"use_underline"
>
True
</property>
<property
name=
"relief"
>
GTK_RELIEF_NORMAL
</property>
<property
name=
"focus_on_click"
>
True
</property>
<signal
name=
"clicked"
handler=
"on_check_commands_1_button_clicked"
last_modification_time=
"Fri, 23 Jun 2006 18:05:14 GMT"
/>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
False
</property>
<property
name=
"fill"
>
False
</property>
<property
name=
"pack_type"
>
GTK_PACK_END
</property>
</packing>
</child>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
True
</property>
<property
name=
"fill"
>
True
</property>
</packing>
</child>
</widget>
<packing>
<property
name=
"tab_expand"
>
False
</property>
...
...
@@ -165,26 +181,7 @@
</child>
<child>
<widget
class=
"GtkLabel"
id=
"label251"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
></property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"type"
>
tab
</property>
</packing>
<placeholder/>
</child>
<child>
...
...
@@ -245,45 +242,79 @@
</child>
<child>
<widget
class=
"GtkLabel"
id=
"label252"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
></property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"type"
>
tab
</property>
</packing>
<placeholder/>
</child>
<child>
<widget
class=
"Gtk
Label
"
id=
"
label254
"
>
<widget
class=
"Gtk
VBox
"
id=
"
no_commands_stage_vbox
"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
This jabber entity doesn't expose any commands.
</property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
<property
name=
"homogeneous"
>
False
</property>
<property
name=
"spacing"
>
0
</property>
<child>
<widget
class=
"GtkLabel"
id=
"label263"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
This jabber entity does not expose any commands.
</property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
False
</property>
<property
name=
"fill"
>
False
</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<widget
class=
"GtkHBox"
id=
"hbox2956"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"homogeneous"
>
False
</property>
<property
name=
"spacing"
>
0
</property>
<child>
<placeholder/>
</child>
<child>
<widget
class=
"GtkButton"
id=
"check_commands_2_button"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can_focus"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
Check once more
</property>
<property
name=
"use_underline"
>
True
</property>
<property
name=
"relief"
>
GTK_RELIEF_NORMAL
</property>
<property
name=
"focus_on_click"
>
True
</property>
<signal
name=
"clicked"
handler=
"on_check_commands_2_button_clicked"
last_modification_time=
"Fri, 23 Jun 2006 18:05:31 GMT"
/>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
False
</property>
<property
name=
"fill"
>
False
</property>
<property
name=
"pack_type"
>
GTK_PACK_END
</property>
</packing>
</child>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
True
</property>
<property
name=
"fill"
>
True
</property>
<property
name=
"pack_type"
>
GTK_PACK_END
</property>
</packing>
</child>
</widget>
<packing>
<property
name=
"tab_expand"
>
False
</property>
...
...
@@ -292,45 +323,64 @@
</child>
<child>
<widget
class=
"GtkLabel"
id=
"label255"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
></property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"type"
>
tab
</property>
</packing>
<placeholder/>
</child>
<child>
<widget
class=
"Gtk
Label
"
id=
"
label257
"
>
<widget
class=
"Gtk
VBox
"
id=
"
error_stage_vbox
"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
An error has occured.
</property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
<property
name=
"homogeneous"
>
False
</property>
<property
name=
"spacing"
>
0
</property>
<child>
<widget
class=
"GtkLabel"
id=
"label257"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
An error has occured:
</property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
False
</property>
<property
name=
"fill"
>
False
</property>
</packing>
</child>
<child>
<widget
class=
"GtkLabel"
id=
"error_description_label"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
>
Error description...
</property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
True
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"padding"
>
0
</property>
<property
name=
"expand"
>
False
</property>
<property
name=
"fill"
>
False
</property>
</packing>
</child>
</widget>
<packing>
<property
name=
"tab_expand"
>
False
</property>
...
...
@@ -339,26 +389,7 @@
</child>
<child>
<widget
class=
"GtkLabel"
id=
"label256"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"label"
translatable=
"yes"
></property>
<property
name=
"use_underline"
>
False
</property>
<property
name=
"use_markup"
>
False
</property>
<property
name=
"justify"
>
GTK_JUSTIFY_LEFT
</property>
<property
name=
"wrap"
>
False
</property>
<property
name=
"selectable"
>
False
</property>
<property
name=
"xalign"
>
0.5
</property>
<property
name=
"yalign"
>
0.5
</property>
<property
name=
"xpad"
>
0
</property>
<property
name=
"ypad"
>
0
</property>
<property
name=
"ellipsize"
>
PANGO_ELLIPSIZE_NONE
</property>
<property
name=
"width_chars"
>
-1
</property>
<property
name=
"single_line_mode"
>
False
</property>
<property
name=
"angle"
>
0
</property>
</widget>
<packing>
<property
name=
"type"
>
tab
</property>
</packing>
<placeholder/>
</child>
</widget>
<packing>
...
...
This diff is collapsed.
Click to expand it.
src/adhoc_commands.py
+
68
−
4
View file @
ce9cbe6f
...
...
@@ -56,7 +56,8 @@ class CommandWindow:
'
execute_button
'
,
'
stages_notebook
'
,
'
retrieving_commands_stage_vbox
'
,
'
command_list_stage_vbox
'
,
'
command_list_vbox
'
,
'
sending_form_stage_vbox
'
):
'
sending_form_stage_vbox
'
,
'
no_commands_stage_vbox
'
,
'
error_stage_vbox
'
,
'
error_description_label
'
):
self
.
__dict__
[
name
]
=
self
.
xml
.
get_widget
(
name
)
# setting initial stage
...
...
@@ -78,6 +79,7 @@ class CommandWindow:
def
on_forward_button_clicked
(
self
,
*
anything
):
pass
def
on_execute_button_clicked
(
self
,
*
anything
):
pass
def
on_adhoc_commands_window_destroy
(
self
,
*
anything
):
pass
def
do_nothing
(
self
,
*
anything
):
pass
# stage 1: waiting for command list
def
stage1
(
self
):
...
...
@@ -142,10 +144,16 @@ class CommandWindow:
self
.
command_list_vbox
.
pack_end
(
radio
,
expand
=
False
)
self
.
command_list_vbox
.
show_all
()
self
.
stage_finish
=
self
.
stage_finish
self
.
stage_finish
=
self
.
stage
2
_finish
self
.
on_cancel_button_clicked
=
self
.
stage2_on_cancel_button_clicked
self
.
on_forward_button_clicked
=
self
.
stage2_on_forward_button_clicked
def
stage2_finish
(
self
):
'''
Remove widgets we created.
'''
def
remove_widget
(
widget
):
self
.
command_list_vbox
.
remove
(
widget
)
self
.
command_list_vbox
.
foreach
(
remove_widget
)
def
stage2_on_cancel_button_clicked
(
self
):
self
.
stage_finish
()
self
.
window
.
destroy
()
...
...
@@ -153,6 +161,58 @@ class CommandWindow:
def
stage2_on_forward_button_clicked
(
self
):
pass
def
on_check_commands_1_button_clicked
(
self
,
widget
):
self
.
stage1
()
# stage 4: no commands are exposed
def
stage4
(
self
):
'''
Display the message. Wait for user to close the window
'''
# close old stage
self
.
stage_finish
()
self
.
stages_notebook
.
set_current_page
(
self
.
stages_notebook
.
page_num
(
self
.
no_commands_stage_vbox
))
self
.
cancel_button
.
set_sensitive
(
True
)
self
.
back_button
.
set_sensitive
(
False
)
self
.
forward_button
.
set_sensitive
(
False
)
self
.
execute_button
.
set_sensitive
(
False
)
self
.
stage_finish
=
self
.
do_nothing
self
.
on_cancel_button_clicked
=
self
.
stage4_on_cancel_button_clicked
def
stage4_on_cancel_button_clicked
(
self
):
self
.
window
.
destroy
()
def
on_check_commands_2_button_clicked
(
self
,
widget
):
self
.
stage1
()
# stage 5: an error has occured
def
stage5
(
self
,
error
):
'''
Display the error message. Wait for user to close the window
'''
# close old stage
self
.
stage_finish
()
assert
isinstance
(
error
,
unicode
)
self
.
stages_notebook
.
set_current_page
(
self
.
stages_notebook
.
page_num
(
self
.
error_stage_vbox
))
self
.
cancel_button
.
set_sensitive
(
True
)
self
.
back_button
.
set_sensitive
(
False
)
self
.
forward_button
.
set_sensitive
(
False
)
self
.
execute_button
.
set_sensitive
(
False
)
self
.
error_description_label
.
set_text
(
error
)
self
.
stage_finish
=
self
.
do_nothing
self
.
on_cancel_button_clicked
=
self
.
stage5_on_cancel_button_clicked
def
stage5_on_cancel_button_clicked
(
self
):
self
.
window
.
destroy
()
# helpers to handle pulsing in progressbar
def
setup_pulsing
(
self
,
progressbar
):
'''
Set the progressbar to pulse. Makes a custom
...
...
@@ -184,14 +244,18 @@ class CommandWindow:
# is error => error stage
error
=
response
.
getError
()
if
error
is
not
None
:
pass
# extracting error description from xmpp/protocol.py
errorname
=
xmpp
.
NS_STANZAS
+
'
'
+
str
(
error
)
errordesc
=
xmpp
.
ERRORS
[
errorname
][
2
]
self
.
stage5
(
errordesc
.
decode
(
'
utf-8
'
))
return
# no commands => no commands stage
# commands => command selection stage
items
=
response
.
getTag
(
'
query
'
).
getTags
(
'
item
'
)
if
len
(
items
)
==
0
:
self
.
commandlist
=
[]
self
.
stage
2
()
# stageX, where X is the number for error page
self
.
stage
4
()
else
:
self
.
commandlist
=
[(
t
.
getAttr
(
'
node
'
),
t
.
getAttr
(
'
name
'
))
for
t
in
items
]
self
.
stage2
()
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment