Age | Commit message (Collapse) | Author | Files | Lines |
|
Instead of showing just some of them at the main window, implement
another window that would show other controls.
There are a few things missing here:
- Controls may be affected by other controls. Need to implement events
to properly handle it;
- Need to implement support for menu and int menu.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Now that the camorama filter support sliders per filter, add
one for the Threshold (Channel) filter.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Now that the camorama filter support sliders per filter, add
one for the Threshold(Overall) filter.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Before starting to port gtk4 from 3.94 to current version,
copy the UI.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
The GtkAlignment is deprecated. Let's drop some that aren't
needed.
No visual changes so far.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Just one botton is enough on this widget. Remove the other one.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Nothing changed here: file was just updated with glade 3.38.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Gtk 3.22 was released in 2016, which is old enough to be even
on LTS distros. Also, the current code was not tested - and doesn't
actually build with Gtk2.
While it would be doable to make it work again with Gtk2, what's
the point? Let's just move forward and setup the minimal to be
Gtk 3.22.
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
|
|
Nowadays, there are several UVC devices that can be used to
capture HDMI images. Those could be used, for instance, to
display a console from another machine. On such case, it can
be interesting to use as little as possible of the screen,
in order to maximize the screen.
Let's implement a full screen mode that will disable everything
but the top menu, and place the application in full screen
mode.
As this depends on a proper scaling support, only enable it
with Gtk3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
hexpand property only exists on Gtk3 and upper.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
It is nice to be able to expand the window in real time.
Add support for it with Gtk3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
Instead, the best is to always run ./autogen.sh
as this will ensure a cleaner and more portable build.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
The update was auto-generated by:
$ gettextize -f
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
|
|
The icon was imported from gnome icon set
(https://github.com/GNOME/gnome-icon-theme) before changeset
e4fc9dade2d6411173bb84c0f1064eeac0b6a5fb, to ensure that it
matches the license of camorama project (GPL 2).
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
As we ship Camorama with those files, and a new check there
is needed, let's first update them from autoreconf -vfi,
before doing any other changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Instead of placing it together with the resolution changes, after
the separator, add it earlier.
With that, it now will remain at the same place after switching
between cameras.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
The first time camorama is started, or if it doesn't find the
previously used camera, it will now open a dialog allowing
the user to choose the camera.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
We need it at the tarball, in order to be able to build from it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Now, the server can use more than just FTP. So, make the
summary and description more generic.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Now that we're using GSettings for the schema, let's add
it to the translation logic.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
While it works fine, Gconf was deprecated in favor of Gsettings.
Replace its usage inside camorama.
Please notice that the changed notifications for the values
are not used here.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Store the last used resolution at Gconf's schema. This way, when
camorama is restarted, it will re-use it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
There was still a mismatch between Camorama's schema file and
the interface used internally.
Sync them.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
The credentials (login/password) were removed the protocol key
was added to the schema. So, update the schemas file accordingly.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
There are several things that gtk4-builder-tool complains at the
GtkBuilder schema, with prevents the interface to load. Just get
rid of them, without caring enough to have a good visual output.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Before modifying it to fit at Gtk4 needs, copy it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
The Gtk 3 manual says it would be possible to use a GtkBox
with a GtkLabel and GtkImage in order to replace it.
I tried, both directly and using Glade 3.22. Didn't work.
So, let's explicitly revert this change, as it makes
Camorama with a bad visual (IMHO).
We'll still need some solution if we want to preserve icons
on menus for Gtk 4, but that's a separate issue.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
On Gtk3, several Widgets got obsoleted, being replaced by
a different wigdet.
The only exception is the GtkImageMenu item, that were simply
removed, without any replacement. It seems that now it is not
possible anymore (or at least it is not trivial) to associate
a MenuItem with an image.
Anyway, as those widgets don't exist anymore on Gtk4, we'll
need to replace them anyway.
The new camorama-gtk3.ui now validates with Glade 3.22.
It should not work with gtk2, so, at least while we keep
backport compatibility, let's have both schemas.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
On Gtk3, several Widgets got obsoleted, being replaced by
a different wigdet.
For now, keep both gtk2 and gtk3 versions identical, e. g.:
copied: camorama.ui -> camorama-gtk3.ui
renamed: camorama.ui -> camorama-gtk2.ui
The next patch will replace the obsolete widgets.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Gtk 3 supports wayland, but there's a catch: while the
current code works properly with X11, it doesn't draw
anything inside the GtkDrawingArea on Wayland.
The fix is trivial, but incompatible with Gtk2: instead of
updating the drawing aea inside the main loop, a callback
has to be used in order to handle gtk draw logic.
As, at least for now, we want to keep supporting Gtk 2,
let's add a compatibility code.
That fixes drawing with Wayland.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
There are lots of warnings that are disabled when building
camorama. Enable them, as they may show real bugs.
Yet, as we still have lots of such warnings, don't
threat warnings as errors.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
Camorama.png converted to 512x512 pixels using a cubic algorithm
and used a blur filter on gimp. With a reasonable big sized image,
downscale it to the usual pixel map resolutions.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
* Get rid of *~ backup files and autom4mate.cache/
It doesn't make sense to keep backup files stored on git.
Update .gitignore accordingly and sort their entries.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Bug reports should be done at the github tree
Not sure why it is listing gnome for bug report. I suspect it
was because it was written originally to be part of Gnome.
Update it to point to upstream's camorama repository at github,
where bugs will likely be better handled.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Add a camorama.appdata.xml
Use the file shipped with Fedora as basis, changing the
screenshots (the link there is broken) and changing the email
of the current maintainer.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* v4l: fix a typo
enqueu -> enqueue
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Rename configure.in to configure.ac
While here, update it according with:
https://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* autogen.sh: use a more modern approach
The procedure used there is deprecated. Change it to run
with latest versions of Gtk 2.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Update build system
Run the autogen.sh script to generate again the files that
are created automatically.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Convert it to use the new gettext logic
Since version 0.19.8, gettext doesn't need intltoolize anymore.
Cleanup gettext logic, in order to auto-generate the po/*
files.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Update auto-generated build files
All those files can be generated by running the autogen.sh
script.
Yet, as camorama use to carry those for a while, let's
auto-generate and keep them inside the tree, removing the
obsolete ones and backup files.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* POFILES.in: add missing sources
Several sources are missing at the POFILES.in. Update.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* callbacks: allow translating the fps streaming message
Use gettext to allow translating this message:
"%.2f fps - current %.2f fps - average"
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Auto-translate camera.desktop
Add the needed logic to auto-translate camera.desktop.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Auto-translate camorama.appdata.xml
Add locale translations for camorama.appdata.xml too.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Fix depth on filters and fileio
V4L2 uses depth as bits per pixel, while filters and file io
uses it as bits per byte. Do the conversion.
Fixes a regression on Camorama filters.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* v4l: Better name V4L bits per pixel field
At V4L, the depth for each video format is represented using
bits per pixel. However, at Camorama, the filters use bytes per
pixel instead. That caused a regression during the conversion
to V4L2.
In order to avoid further troubles, let's rename:
cam->depth ===> cam->bpp
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* v4l: make print_cam() useful
There is a debug logic at v4l.c that is not used anywhere.
Also, its output is noisy, as it displays some things that
shouldn't work if not explicitly set.
Print data from it when -D is used, on a useful way, e. g.
by default it will print something like:
Camera Info
-----------
device = /dev/video0, x = 960, y = 720
bits per pixel = 24, desk_depth = 24
capture directory = /home/user/Webcam_Pictures, capture file = Webcam
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Include only gtk.h header
Instead of including header files just for a few widgets used,
include the main one. That's a rule with Gtk 3.
That also allows building it with:
make CFLAGS+="-DGTK_DISABLE_SINGLE_INCLUDES"
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* filter: get rid of a warning due to a missing prototype
filter.c: In function ‘camorama_filters_init’:
filter.c:574:2: warning: implicit declaration of function ‘camorama_filter_reichardt_get_type’; did you mean ‘camorama_filter_invert_get_type’? [-Wimplicit-function-declaration]
camorama_filter_reichardt_get_type();
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
camorama_filter_invert_get_type
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* fileio: use g_thread_new() instead of g_thread_create()
fileio.c:226:9: warning: ‘g_thread_create’ is deprecated: Use 'g_thread_new' instead [-Wdeprecated-declarations]
g_thread_create ((GThreadFunc) save_thread, cam, FALSE, NULL);
^~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib.h:108,
from /usr/include/glib-2.0/gobject/gbinding.h:28,
from /usr/include/glib-2.0/glib-object.h:23,
from /usr/include/glib-2.0/gio/gioenums.h:28,
from /usr/include/glib-2.0/gio/giotypes.h:28,
from /usr/include/glib-2.0/gio/gio.h:26,
from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:30,
from /usr/include/gtk-2.0/gdk/gdk.h:32,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from v4l.h:14,
from fileio.h:1,
from fileio.c:1:
/usr/include/glib-2.0/glib/deprecated/gthread.h:104:10: note: declared here
GThread *g_thread_create (GThreadFunc func,
^~~~~~~~~~~~~~~
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* stop using deprecated gdk_pixbuf_new_from_inline()
Prevents this deprecated warning:
camorama-stock-items.c:18:2: warning: ‘gdk_pixbuf_new_from_inline’ is deprecated [-Wdeprecated-declarations]
GdkPixbuf* buf = gdk_pixbuf_new_from_inline(-1, inline_data, FALSE, NULL);
^~~~~~~~~
In file included from /usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf.h:34,
from /usr/include/gtk-2.0/gdk/gdkpixbuf.h:37,
from /usr/include/gtk-2.0/gdk/gdkcairo.h:28,
from /usr/include/gtk-2.0/gdk/gdk.h:33,
from /usr/include/gtk-2.0/gtk/gtk.h:32,
from camorama-stock-items.c:8:
/usr/include/gdk-pixbuf-2.0/gdk-pixbuf/gdk-pixbuf-core.h:362:12: note: declared here
GdkPixbuf* gdk_pixbuf_new_from_inline (gint data_length,
^~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* get rid of deprecated GTK_WIDGET_STATE()
Use gtk_widget_get_state() instead.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Add labels for GNOMEUIINFO_MENU_* items
glade-3 doesn't recognize GNOMEUIINFO_MENU_* stock_item anymore.
So, we need labels.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* camorama.glade: use glade-3 to generate it
It is a way easier to use glade-3 to change the interface.
Now that it doesn't use the obsoleted stock item anymore,
convert it to the format that glade-3 uses.
It will produce one warning, though:
[main_window:bonobodock1:vbox36:hbox25:frame1:da] Object class 'Custom widget' from gtk 2.16 is deprecated
It should be noticed that glade-3 will add a "swapped attribute
to all signals. Those will cause harmless warnings when
camorama runs. In order to avoid, we just need to patch the
file, after using glade-3 with hunks like this:
- <signal name="activate" handler="on_show_effects_activate" swapped="no"/>
+ <signal name="activate" handler="on_show_effects_activate"/>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Replace custom widget by GtkDrawingArea
There's no need to use a custom widget here. Just use a
GtkDrawingArea and simplify the code.
With such change, glade-3 doesn't complain anymore about
the usage of obsolete widgets.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* camorama.glade: get rid of bonobo and GnomeApp
Do some cleanup at camorama.glade in order to make it easier
to convert later to Gtk 3 by removing bonobo-specific and
GnomeApp widget dependencies.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Use GtkStatusbar instead of GnomeAppBar
No need to use the gnome-specific widget. Just use the default
Gtk one. That should make easier when converting this to Gtk 3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Convert to Gtk Builder
Instead of using libglade, use Gtk Builder. This removes one
dependency from Camorama and makes easier to convert to
Gtk 3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Instead of gnome, use Gtk to display "about" information
The gnome_about_new() function is deprecated. Convert it to
use the Gtk about dialog instead, and add the license information
to it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* remove uneded includes from camorama-window.c, v4l.c and fileio.c
Those headers aren't needed there, so remove them.
While here, reorder includes to put into alphabetic order.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* camorama-stock-items: get rid of gnome-specific file location function
The only reason why gnome.h is included here is due to a
function to locate an icon file. On other parts of Camorama,
PACKAGE_DATA_DIR is used, instead, in order o get a pixmap.
So, standardize it, by doing the same way here.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* support: get rid of create_pixbuf()
This function is not used anymore. Get rid of it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* support: use Gtk dialog instead of the gnome one
There's no good reason to use gnome-specific dialog message
here. So, replace by the equivalent Gtk one.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* fileio: use gio instead of gnomeVFS and support sftp and smb
The gnomeVFS is now obsolete. Replace it by gio.
As a bonus, it now supports also sftp and smb protocols.
While here, remove dead code inside fileio.c.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* fileio: fix a bug preventing timestamp to show on remote file
When storing a remote file, the timestamp was not shown:
Webcam-(null).jpeg
That's because it was doing a sizeof(char *) instead of
sizeof(char[str_len]).
While here, get rid of the unused timenow var inside
remote_save().
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Only validate remote host settings if capture is enabled
It doesn't make any sense to try to map to a remote host
if capture is disabled.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* main: use gtk_init() instead of gnome_program_init()
With that, camorama doesn't need to use libgnomeui-2.0 anymore.
While here, update Gtk check logic to version 2.24, as it is
needed in order to use the GtkComboBox.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Rename data/camorama.glade -> data/camorama.ui
The default extension for Gtk Builder is .ui. Change it
accordingly at the building system.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* main: Wait for filled buffers in read mode
When the driver is on read mode, the driver will return
immediately from read() callback even when the buffer is
not filled. That causes flicker while on read mode. Also,
it displays a non-realistic frame rate.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Use cairo instead of using GdkPixmap
This is another obsolete part of Gtk 2 API. Replace it in favor
of using cairo instead.
While here, remove code duplication, as image display logic
was on 3 different places.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Replace GTK_WIDGET_VISIBLE() with gtk_widget_get_visible()
Replace another Gtk 2 macro that was replaced on Gtk 3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Replace gtk_object_get_data() with g_object_get_data()
Another function that got replaced on Gtk 3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Remove unused function/function prototype
Neither lookup_widget nor io_func are used. As both use some
Gtk 2 deprecated functions, get rid of them for good.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Use gtk_container_add() instead of gtk_menu_append()
gtk_menu_append() is deprecated and not available anymore with
Gtk 3. gtk_container_add() works with both versions, so use it
instead.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Don't get window with widget->window directly
Such kind of access is deprecated with Gtk 3. So, use, instead
the function gtk_widget_get_window(), as it works with both
Gtk 2 and Gtk 3.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Use g_foo() variants instead of gtk_foo()
Several functions were deprecated, as GLib defines an equivalent
one, and got removed on Gtk 3. So, use the GLib version.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Add an option to build with Gtk 3 instead of Gtk 2
By default, Camorama will be built against Gtk 2. However,
as it now builds also against Gtk 3, add an option to use
Gtk 3 instead.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Update translation files
Now that the translation files are auto-generated, the
makefile auto-updates them.
That makes a way easier to fix, as editors like poedit
will see the new strings that were added to camorama
along the time.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* pt_BR: Update Brazilian translation
Several messages changed along time. Update their translations.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
* Bump version to 0.20 and update ChangeLog
There were simply too many changes on Camorama. So, bump its
version to 0.20 and reflect latest changes at the ChangeLog.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
|
|
|
|
Right now, widgets associated with controls just have a random
name. Instead, use a name related to their usage, to make easier
to reference them inside src/camera-window.c.
|
|
It is very hard to see what's happening when the file-generated
stuff is part of the git tree.
Remove the ones that are generated by ./configure and make.
|
|
|
|
|
|
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/camorama/+bug/870609
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=553523
|
|
|
|
|
|
|