Re: [darktable-dev] Support Coding

2021-05-04 Thread Robert Rembold

Hi Jan,
You may also try to generate a configuration for your IDE with CMake. 
This did a good job for me using Eclipse but Codeblocks should be also 
supported. See 
https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html#ide-build-tool-generators


Just append below argument when initializing CMake:
-G "CodeBlocks - Unix Makefiles"

Best Regards,
Robert


Am 02.05.21 um 14:25 schrieb Heiko Bauke:

Dear Jan,

Am 01.05.21 um 12:13 schrieb Solarer:

I read the section on developing on the website and have 2 questions:

1) Do you prefer patches or pull requests?


I think, creating a pull request on GitHub is the preferred way.


2) Can somebody tell me (or at least point me to a good source) how I
can compile and run the code in an IDE, preferebly Codeblocks? So far I
edited the code in my IDE but for building I ran the build script
manually. My problem is that this does not allow me to set break points
and I really need those.


I can not say much specifically regarding Codeblocks.  When I need to 
debug dt, my workflow is the following:


* Build and install dt as described in 
https://github.com/darktable-org/darktable#compile (Usually a release 
build, sometimes a release build with debug information, rarely a 
debug build. Debug builds are terribly slow, release builds more 
difficult to debug due to missing debug information.)


* Start dt.

* Open dt sources into the ide (CLion in my case).

* Attach debugger to the running dt process.

Attaching a debugger to a running process may require to tweak some 
kernel parameters depending on the Linux version, see


https://stackoverflow.com/questions/61388840/why-wont-codeblocks-attach-to-a-process 



https://www.jetbrains.com/help/clion/attaching-to-local-process.html


Regards,

Heiko




___
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org



Re: [darktable-dev] HELP NEEDED - long gtk menu does not scroll

2019-04-17 Thread Robert Rembold
It's a known issue which was introduced after 3.24.3 and should be 
solved in 3.24.7: https://gitlab.gnome.org/GNOME/gtk/issues/1719


Am 17.04.19 um 19:35 schrieb William Ferguson:

My gtk2 is 2.24.32, so only the gtk3 is different 3.22.30 vs 3.24.x

On Wed, Apr 17, 2019 at 1:24 PM Robert Rembold <mailto:d...@rrembold.de>> wrote:


Hi Pascal,
Unfortunately, I also noticed the described issue here. You're not
alone ;)

My settings are as follows:
- Ubuntu 18.10 with Xfce
- 1920*1080 screen resolution
- gtk-2.24.32
- gtk-3.24.4
- built darktable from sources few days ago (if exact version
matters I
can check)

Best Regards,
Robert

Am 17.04.19 um 18:13 schrieb Pascal Obry:
> Hi Bill,
>
> Thanks for testing.
>
>> Did a pull yesterday and built from git last night. Opened the
Canon
>> lens list and was able to scroll with the mouse wheel.  If I
move to
>> the top of the list it autoscrolls up and the same with the bottom
>> even though the arrow buttons(?) aren't visible.  I'm on Ubuntu
>> 18.04.  I also checked 2.6.2, built from source, and it worked fine
>> also, and the top and bottom arrow buttons(?) are visible.
> So that's on my side! Hum, what is your Gtk+ version? Maybe a
bug in my
> version. I'm using 3.24.5-1 on Debian (tested on 2 machines).
>

___
darktable developer mailing list
to unsubscribe send a mail to
darktable-dev+unsubscr...@lists.darktable.org
<mailto:darktable-dev%2bunsubscr...@lists.darktable.org>


___ 
darktable developer mailing list to unsubscribe send a mail to 
darktable-dev+unsubscr...@lists.darktable.org




___
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org

Re: [darktable-dev] HELP NEEDED - long gtk menu does not scroll

2019-04-17 Thread Robert Rembold

Hi Pascal,
Unfortunately, I also noticed the described issue here. You're not alone ;)

My settings are as follows:
- Ubuntu 18.10 with Xfce
- 1920*1080 screen resolution
- gtk-2.24.32
- gtk-3.24.4
- built darktable from sources few days ago (if exact version matters I 
can check)


Best Regards,
Robert

Am 17.04.19 um 18:13 schrieb Pascal Obry:

Hi Bill,

Thanks for testing.


Did a pull yesterday and built from git last night.  Opened the Canon
lens list and was able to scroll with the mouse wheel.  If I move to
the top of the list it autoscrolls up and the same with the bottom
even though the arrow buttons(?) aren't visible.  I'm on Ubuntu
18.04.  I also checked 2.6.2, built from source, and it worked fine
also, and the top and bottom arrow buttons(?) are visible.

So that's on my side! Hum, what is your Gtk+ version? Maybe a bug in my
version. I'm using 3.24.5-1 on Debian (tested on 2 machines).



___
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org



Re: [darktable-dev] [PATCH] Image collection: added second order sorting

2019-03-14 Thread Robert Rembold

Am 13.03.19 um 22:42 schrieb Patrick Shanahan:

* Robert Rembold  [03-13-19 17:39]:

Hi all,
please find updated patch for second order sorting for image collection
enclosed. It supports 'new' sorting criteria which were introduced since I
provided it first time in 2017. Additionally some minor improvements/fixes
went in.

I'm looking forward someone takes this patch over to darktable master.
Thanks!

  - Example1: sort by GROUP, RATING
  - Example2: sort by COLOR, RATING

Hopefully, this is not yet implemented somewhere in parallel ;)

you will probably get quicker recognition and resolution if you report the
issue @ https://redmine.darktable.org/projects/darktable/issues
and include your patch

maybe also referenct your post.

tks,


Done. See https://redmine.darktable.org/issues/12630

___
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org



Re: [darktable-dev] nice interface colors :)

2018-02-08 Thread Robert Rembold

Hi all,
I observed same issue with latest HEAD revision from GitHub.

$ pkg-config --modversion gtk+-3.0
3.18.9

$ lsb_relase -a
No LSB modules are available.
Distributor ID:    Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:    16.04
Codename:    xenial

Already performed complete rebuild, not solved the issue.

$ ../local_install/bin/darktable

dt_gui_gtk_init: error parsing 
/home/rrd/code/darktable/local_install/share/darktable/darktable.css: 
darktable.css:621:15Missing name of pseudo-class



Since issue does not show up in dt 2.4.1 from PPA, I diffed both 
stylesheets:


$ diff ../local_install/share/darktable/darktable.css 
/usr/share/darktable/darktable.css

18,21c18
< @define-color bauhaus_fg #999;
< @define-color bauhaus_border #191919;
< @define-color bauhaus_bg alpha(@bauhaus_border, 0.2);
< @define-color bauhaus_fg_insensitive alpha(@bauhaus_fg, 0.2);
---
> @define-color dark_bg_color #35;
600,624d596
< }
<
< #bauhaus-popup
< {
<   /* NORMAL */
<   background-color: @selected_bg_color;
<   color: @fg_color;
< }
<
< #bauhaus-popup:selected
< {
<   /* SELECTED */
<   color: shade(@fg_color, 1.5);
< }
<
< #bauhaus-popup:hover
< {
<   /* PRELIGHT */
<   color: shade(@fg_color, 0.7);
< }
<
< #bauhaus-popup:disabled
< {
<   /* insensitive */
<   color: black;


Mentioned problem "darktable.css:621:15" refers to 
#bauhaus-popup:disabled which seems to be added recently.


Just commenting out this block solved the issue for me.

Best Regards,
Robert


Am 08.02.2018 um 10:03 schrieb Tobias Ellinghaus:

Am Donnerstag, 8. Februar 2018, 04:41:57 CET schrieb Alexander Rabtchevich:

Hello

Hi.


Current git has brought funny colors to darktable :)

Are you using GTK < 3.20?

Please start darktable from a terminal, it should print some error messages
about what is wrong with the css file.


With respect,
Alexander Rabtchevich

Tobias



___
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org



[darktable-dev] [PATCH] Image collection: added second order sorting

2017-12-30 Thread Robert Rembold

Hi all,

I added some lines to the sorting functionality of image collection and 
like to share them with you.


In detail, I added second order sorting functionality to image 
collection. This seems to be most helpful when sorting by rating

 - Example1: sort by GROUP, RATING
 - Example2: sort by COLOR, RATING

Hopefully, this is not yet implemented somewhere in parallel ;)


Best Regards,

Robert


___
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.orgdiff --git a/src/common/collection.c b/src/common/collection.c
index fe31dbb..7ac1d7d 100644
--- a/src/common/collection.c
+++ b/src/common/collection.c
@@ -39,7 +39,7 @@
 
 
 #define SELECT_QUERY "SELECT DISTINCT * FROM %s"
-#define ORDER_BY_QUERY "ORDER BY" /*changed format!*/
+#define ORDER_BY_QUERY "ORDER BY %s"
 #define LIMIT_QUERY "LIMIT ?1, ?2"
 
 static const char *comparators[] = {
@@ -119,7 +119,6 @@ int dt_collection_update(const dt_collection_t *collection)
   uint32_t result;
   gchar *wq, *sq, *selq, *query;
   wq = sq = selq = query = NULL;
-  static dt_collection_sort_t sort_second_order = DT_COLLECTION_SORT_NONE;/*remember previous sorting criteria as second order sorting criteria*/
 
   /* build where part */
   if(!(collection->params.query_flags & COLLECTION_QUERY_USE_ONLY_WHERE_EXT))
@@ -171,33 +170,21 @@ int dt_collection_update(const dt_collection_t *collection)
   }
 
   /* build select part includes where */
-  if(((collection->params.sort == DT_COLLECTION_SORT_COLOR
-   && sort_second_order == DT_COLLECTION_SORT_PATH)
-   ||(collection->params.sort == DT_COLLECTION_SORT_PATH
-   && sort_second_order == DT_COLLECTION_SORT_COLOR))
- && (collection->params.query_flags & COLLECTION_QUERY_USE_SORT))
-selq = dt_util_dstrcat(selq, "SELECT DISTINCT id FROM (SELECT * FROM main.images WHERE %s) "
- "AS a LEFT OUTER JOIN main.color_labels AS b ON a.id = b.imgid "
- "JOIN (SELECT id AS film_rolls_id, folder FROM main.film_rolls) ON film_id = film_rolls_id",
-   wq);
-  else if((collection->params.sort == DT_COLLECTION_SORT_COLOR
-  ||sort_second_order == DT_COLLECTION_SORT_COLOR)
+  if(collection->params.sort == DT_COLLECTION_SORT_COLOR
  && (collection->params.query_flags & COLLECTION_QUERY_USE_SORT))
-selq = dt_util_dstrcat(selq, "SELECT DISTINCT id FROM (SELECT * FROM main.images WHERE %s) "
- "AS a LEFT OUTER JOIN main.color_labels AS b ON a.id = b.imgid",
+selq = dt_util_dstrcat(selq, "SELECT DISTINCT id FROM (SELECT * FROM main.images WHERE %s) AS a LEFT OUTER "
+ "JOIN main.color_labels AS b ON a.id = b.imgid",
wq);
-  else if((collection->params.sort == DT_COLLECTION_SORT_PATH
-  ||sort_second_order == DT_COLLECTION_SORT_PATH)
+  else if(collection->params.sort == DT_COLLECTION_SORT_PATH
   && (collection->params.query_flags & COLLECTION_QUERY_USE_SORT))
-selq = dt_util_dstrcat(selq, "SELECT DISTINCT id FROM (SELECT * FROM main.images WHERE %s) "
- "JOIN (SELECT id AS film_rolls_id, folder FROM main.film_rolls) ON film_id = film_rolls_id",
+selq = dt_util_dstrcat(selq, "SELECT DISTINCT id FROM (SELECT * FROM main.images WHERE %s) JOIN (SELECT id AS "
+ "film_rolls_id, folder FROM main.film_rolls) ON film_id = film_rolls_id",
wq);
   else if(collection->params.query_flags & COLLECTION_QUERY_USE_ONLY_WHERE_EXT)
 selq = dt_util_dstrcat(selq, "SELECT DISTINCT images.id FROM main.images %s", wq);
   else
 selq = dt_util_dstrcat(selq, "SELECT DISTINCT id FROM main.images WHERE %s", wq);
 
-  sort_second_order=collection->params.sort;/*remember current sort criteria for next time*/
 
 
   /* build sort order part */
@@ -338,59 +325,37 @@ gboolean dt_collection_get_sort_descending(const dt_collection_t *collection)
 gchar *dt_collection_get_sort_query(const dt_collection_t *collection)
 {
   gchar *sq = NULL;
-  static gchar *second_order = NULL;/*remember previous sorting criteria as second order sorting criteria*/
-
 
   if(collection->params.descending)
   {
 switch(collection->params.sort)
 {
   case DT_COLLECTION_SORT_DATETIME:
-if(second_order) sq = dt_util_dstrcat(sq, "%s datetime_taken DESC, %s, filename, version", ORDER_BY_QUERY, second_order);
-else sq = dt_util_dstrcat(sq, "%s datetime_taken DESC, filename, version", ORDER_BY_QUERY);
-
-second_order = dt_util_dstrcat(NULL, "datetime_taken DESC");
+sq = dt_util_dstrcat(sq, ORDER_BY_QUERY, "datetime_taken DESC, filename, version");
 break;
 
   case DT_COLLECTION_SORT_RATING:
-if(second_order) sq = dt_util_dstrcat(sq, "%s flags & 7, %s, filename, version",