… | |
… | |
81 | } |
81 | } |
82 | |
82 | |
83 | # string => Gtk2::Image |
83 | # string => Gtk2::Image |
84 | sub image_from_data { |
84 | sub image_from_data { |
85 | my ($data) = @_; |
85 | my ($data) = @_; |
|
|
86 | my $img; |
86 | |
87 | |
|
|
88 | if (defined $data) { |
87 | # need to write to file first :/ |
89 | # need to write to file first :/ |
88 | my ($fh, $filename) = File::Temp::tempfile (); |
90 | my ($fh, $filename) = File::Temp::tempfile (); |
89 | syswrite $fh, $data; |
91 | syswrite $fh, $data; |
90 | close $fh; |
92 | close $fh; |
91 | |
|
|
92 | my $img = new_from_file Gtk2::Image $filename; |
93 | $img = new_from_file Gtk2::Image $filename; |
93 | |
|
|
94 | unlink $filename; |
94 | unlink $filename; |
|
|
95 | } else { |
|
|
96 | $img = new_from_file Gtk2::Image "$::IMGDIR/default_userpic.png"; |
95 | |
97 | } |
|
|
98 | |
96 | $img; |
99 | $img; |
97 | } |
100 | } |
98 | |
101 | |
99 | package gtk::widget; |
102 | package gtk::widget; |
100 | |
103 | |