update GtkColorSelectionDialog use
This commit is contained in:
@@ -100,18 +100,18 @@ GtkToggleButton* toolbar_append_toggle_button( GtkToolbar* toolbar, const char*
|
||||
|
||||
bool color_dialog( GtkWidget *parent, Vector3& color, const char* title ){
|
||||
GtkWidget* dlg;
|
||||
double clr[3];
|
||||
GdkColor clr = { 0, guint16( color[0] * 65535 ),
|
||||
guint16( color[1] * 65535 ),
|
||||
guint16( color[2] * 65535 ) };
|
||||
ModalDialog dialog;
|
||||
|
||||
clr[0] = color[0];
|
||||
clr[1] = color[1];
|
||||
clr[2] = color[2];
|
||||
|
||||
dlg = gtk_color_selection_dialog_new( title );
|
||||
gtk_color_selection_set_color( GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dlg )->colorsel ), clr );
|
||||
gtk_color_selection_set_current_color( GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG( dlg ) ) ), &clr );
|
||||
g_signal_connect( G_OBJECT( dlg ), "delete_event", G_CALLBACK( dialog_delete_callback ), &dialog );
|
||||
g_signal_connect( G_OBJECT( GTK_COLOR_SELECTION_DIALOG( dlg )->ok_button ), "clicked", G_CALLBACK( dialog_button_ok ), &dialog );
|
||||
g_signal_connect( G_OBJECT( GTK_COLOR_SELECTION_DIALOG( dlg )->cancel_button ), "clicked", G_CALLBACK( dialog_button_cancel ), &dialog );
|
||||
GtkWidget *ok_button, *cancel_button;
|
||||
g_object_get( G_OBJECT( dlg ), "ok-button", &ok_button, "cancel-button", &cancel_button, nullptr );
|
||||
g_signal_connect( G_OBJECT( ok_button ), "clicked", G_CALLBACK( dialog_button_ok ), &dialog );
|
||||
g_signal_connect( G_OBJECT( cancel_button ), "clicked", G_CALLBACK( dialog_button_cancel ), &dialog );
|
||||
|
||||
if ( parent != 0 ) {
|
||||
gtk_window_set_transient_for( GTK_WINDOW( dlg ), GTK_WINDOW( parent ) );
|
||||
@@ -119,15 +119,10 @@ bool color_dialog( GtkWidget *parent, Vector3& color, const char* title ){
|
||||
|
||||
bool ok = modal_dialog_show( GTK_WINDOW( dlg ), dialog ) == eIDOK;
|
||||
if ( ok ) {
|
||||
GdkColor gdkcolor;
|
||||
gtk_color_selection_get_current_color( GTK_COLOR_SELECTION( GTK_COLOR_SELECTION_DIALOG( dlg )->colorsel ), &gdkcolor );
|
||||
clr[0] = gdkcolor.red / 65535.0;
|
||||
clr[1] = gdkcolor.green / 65535.0;
|
||||
clr[2] = gdkcolor.blue / 65535.0;
|
||||
|
||||
color[0] = (float)clr[0];
|
||||
color[1] = (float)clr[1];
|
||||
color[2] = (float)clr[2];
|
||||
gtk_color_selection_get_current_color( GTK_COLOR_SELECTION( gtk_color_selection_dialog_get_color_selection( GTK_COLOR_SELECTION_DIALOG( dlg ) ) ), &clr );
|
||||
color[0] = clr.red / 65535.0;
|
||||
color[1] = clr.green / 65535.0;
|
||||
color[2] = clr.blue / 65535.0;
|
||||
}
|
||||
|
||||
gtk_widget_destroy( dlg );
|
||||
|
||||
Reference in New Issue
Block a user