Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F18824720
gpaprogressdlg.c
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
5 KB
Subscribers
None
gpaprogressdlg.c
View Options
/* gpaprogressdlg.h - The GpaProgressDialog object.
Copyright (C) 2003 Miguel Coca.
Copyright (C) 2008 g10 Code GmbH.
This file is part of GPA.
GPA is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
GPA 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 General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include
"gpaprogressdlg.h"
#include
"i18n.h"
/* Properties. */
enum
{
PROP_0
,
PROP_WINDOW
,
PROP_CONTEXT
};
static
GObjectClass
*
parent_class
=
NULL
;
static
void
gpa_progress_dialog_get_property
(
GObject
*
object
,
guint
prop_id
,
GValue
*
value
,
GParamSpec
*
pspec
)
{
GpaProgressDialog
*
dialog
=
GPA_PROGRESS_DIALOG
(
object
);
switch
(
prop_id
)
{
case
PROP_WINDOW
:
g_value_set_object
(
value
,
gtk_window_get_transient_for
(
GTK_WINDOW
(
dialog
)));
break
;
case
PROP_CONTEXT
:
g_value_set_object
(
value
,
gpa_progress_bar_get_context
(
dialog
->
pbar
));
break
;
default
:
G_OBJECT_WARN_INVALID_PROPERTY_ID
(
object
,
prop_id
,
pspec
);
break
;
}
}
static
void
gpa_progress_dialog_set_property
(
GObject
*
object
,
guint
prop_id
,
const
GValue
*
value
,
GParamSpec
*
pspec
)
{
GpaProgressDialog
*
dialog
=
GPA_PROGRESS_DIALOG
(
object
);
switch
(
prop_id
)
{
case
PROP_WINDOW
:
gtk_window_set_transient_for
(
GTK_WINDOW
(
dialog
),
g_value_get_object
(
value
));
break
;
case
PROP_CONTEXT
:
gpa_progress_bar_set_context
(
dialog
->
pbar
,
(
GpaContext
*
)
g_value_get_object
(
value
));
break
;
default
:
G_OBJECT_WARN_INVALID_PROPERTY_ID
(
object
,
prop_id
,
pspec
);
break
;
}
}
static
void
gpa_progress_dialog_finalize
(
GObject
*
object
)
{
G_OBJECT_CLASS
(
parent_class
)
->
finalize
(
object
);
}
static
void
gpa_progress_dialog_class_init
(
GpaProgressDialogClass
*
klass
)
{
GObjectClass
*
object_class
=
G_OBJECT_CLASS
(
klass
);
parent_class
=
g_type_class_peek_parent
(
klass
);
object_class
->
finalize
=
gpa_progress_dialog_finalize
;
object_class
->
set_property
=
gpa_progress_dialog_set_property
;
object_class
->
get_property
=
gpa_progress_dialog_get_property
;
/* Properties. */
g_object_class_install_property
(
object_class
,
PROP_WINDOW
,
g_param_spec_object
(
"window"
,
"Parent window"
,
"Parent window"
,
GTK_TYPE_WIDGET
,
G_PARAM_WRITABLE
|
G_PARAM_CONSTRUCT_ONLY
));
g_object_class_install_property
(
object_class
,
PROP_CONTEXT
,
g_param_spec_object
(
"context"
,
"context"
,
"context"
,
GPA_CONTEXT_TYPE
,
G_PARAM_WRITABLE
|
G_PARAM_CONSTRUCT_ONLY
));
}
static
void
gpa_progress_dialog_init
(
GpaProgressDialog
*
dialog
)
{
gtk_container_set_border_width
(
GTK_CONTAINER
(
GTK_DIALOG
(
dialog
)
->
vbox
),
5
);
/* Elements. */
dialog
->
label
=
gtk_label_new
(
NULL
);
gtk_box_pack_start_defaults
(
GTK_BOX
(
GTK_DIALOG
(
dialog
)
->
vbox
),
dialog
->
label
);
dialog
->
pbar
=
gpa_progress_bar_new
();
gtk_box_pack_start_defaults
(
GTK_BOX
(
GTK_DIALOG
(
dialog
)
->
vbox
),
GTK_WIDGET
(
dialog
->
pbar
));
/* Set up the dialog. */
gtk_dialog_add_button
(
GTK_DIALOG
(
dialog
),
_
(
"_Cancel"
),
GTK_RESPONSE_CANCEL
);
/* FIXME: Cancelling is not supported yet by GPGME. */
gtk_dialog_set_response_sensitive
(
GTK_DIALOG
(
dialog
),
GTK_RESPONSE_CANCEL
,
FALSE
);
}
GType
gpa_progress_dialog_get_type
(
void
)
{
static
GType
progress_dialog_type
=
0
;
if
(
!
progress_dialog_type
)
{
static
const
GTypeInfo
progress_dialog_info
=
{
sizeof
(
GpaProgressDialogClass
),
(
GBaseInitFunc
)
NULL
,
(
GBaseFinalizeFunc
)
NULL
,
(
GClassInitFunc
)
gpa_progress_dialog_class_init
,
NULL
,
/* class_finalize */
NULL
,
/* class_data */
sizeof
(
GpaProgressDialog
),
0
,
/* n_preallocs */
(
GInstanceInitFunc
)
gpa_progress_dialog_init
,
};
progress_dialog_type
=
g_type_register_static
(
GTK_TYPE_DIALOG
,
"GpaProgressDialog"
,
&
progress_dialog_info
,
0
);
}
return
progress_dialog_type
;
}
/* API */
/* Create a new progress dialog for the given context. */
GtkWidget
*
gpa_progress_dialog_new
(
GtkWidget
*
parent
,
GpaContext
*
context
)
{
GpaProgressDialog
*
dialog
;
dialog
=
g_object_new
(
GPA_PROGRESS_DIALOG_TYPE
,
"window"
,
parent
,
"context"
,
context
,
NULL
);
return
GTK_WIDGET
(
dialog
);
}
/* Set the dialog label. */
void
gpa_progress_dialog_set_label
(
GpaProgressDialog
*
dialog
,
const
gchar
*
label
)
{
gtk_label_set_text
(
GTK_LABEL
(
dialog
->
label
),
label
);
}
File Metadata
Details
Attached
Mime Type
text/x-c
Expires
Mon, Dec 23, 1:13 PM (30 m, 32 s)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
e4/9c/6de9bd89c7b52a0359c13d566b9d
Attached To
rGPA Gnu Privacy Assistant
Event Timeline
Log In to Comment