Skip to content

Commit 8256a1e

Browse files
committed
Add custom selection/unselection
1 parent ff353c7 commit 8256a1e

File tree

4 files changed

+550
-14
lines changed

4 files changed

+550
-14
lines changed

czkawka_core/src/common.rs

+9-8
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,13 @@ impl Common {
5252

5353
/// Function to check if directory match expression
5454
pub fn regex_check(expression: &str, directory: impl AsRef<Path>) -> bool {
55-
if !expression.contains('*') {
56-
#[cfg(debug_assertions)]
57-
{
58-
println!("Invalid expression ERROR: Expression should have *");
59-
}
60-
return false;
61-
}
55+
// if !expression.contains('*') {
56+
// #[cfg(debug_assertions)]
57+
// {
58+
// println!("Invalid expression Warning: Expression should have *,");
59+
// }
60+
// //return false;
61+
// }
6262

6363
let temp_splits: Vec<&str> = expression.split('*').collect();
6464
let mut splits: Vec<&str> = Vec::new();
@@ -139,6 +139,8 @@ mod test {
139139
assert!(Common::regex_check("*home/*", "/home/"));
140140
assert!(Common::regex_check("*.git*", "/home/.git"));
141141
assert!(Common::regex_check("*/home/rafal*rafal*rafal*rafal*", "/home/rafal/rafalrafalrafal"));
142+
assert!(Common::regex_check("AAA", "AAA"));
143+
assert!(Common::regex_check("AAA*", "AAABDGG/QQPW*"));
142144
assert!(!Common::regex_check("*home", "/home/"));
143145
assert!(!Common::regex_check("*home", "/homefasfasfasfasf/"));
144146
assert!(!Common::regex_check("*home", "/homefasfasfasfasf"));
@@ -149,7 +151,6 @@ mod test {
149151
assert!(!Common::regex_check("*home/*koc", "/koc/home/"));
150152
assert!(!Common::regex_check("*home/", "/home"));
151153
assert!(!Common::regex_check("*TTT", "/GGG"));
152-
assert!(!Common::regex_check("AAA", "AAA"));
153154
}
154155
#[test]
155156
fn test_windows_path() {

czkawka_gui/czkawka.glade

+113-6
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ Author: Rafał Mikrut
198198
<packing>
199199
<property name="expand">False</property>
200200
<property name="fill">True</property>
201-
<property name="position">1</property>
201+
<property name="position">0</property>
202202
</packing>
203203
</child>
204204
<child>
@@ -208,6 +208,17 @@ Author: Rafał Mikrut
208208
<property name="can_focus">True</property>
209209
<property name="receives_default">True</property>
210210
</object>
211+
<packing>
212+
<property name="expand">False</property>
213+
<property name="fill">True</property>
214+
<property name="position">1</property>
215+
</packing>
216+
</child>
217+
<child>
218+
<object class="GtkSeparator">
219+
<property name="visible">True</property>
220+
<property name="can_focus">False</property>
221+
</object>
211222
<packing>
212223
<property name="expand">False</property>
213224
<property name="fill">True</property>
@@ -227,6 +238,17 @@ Author: Rafał Mikrut
227238
<property name="position">3</property>
228239
</packing>
229240
</child>
241+
<child>
242+
<object class="GtkSeparator">
243+
<property name="visible">True</property>
244+
<property name="can_focus">False</property>
245+
</object>
246+
<packing>
247+
<property name="expand">False</property>
248+
<property name="fill">True</property>
249+
<property name="position">4</property>
250+
</packing>
251+
</child>
230252
<child>
231253
<object class="GtkButton" id="buttons_popover_duplicate_select_all_except_oldest">
232254
<property name="label" translatable="yes">Select all except oldest</property>
@@ -237,7 +259,7 @@ Author: Rafał Mikrut
237259
<packing>
238260
<property name="expand">False</property>
239261
<property name="fill">True</property>
240-
<property name="position">4</property>
262+
<property name="position">5</property>
241263
</packing>
242264
</child>
243265
<child>
@@ -250,7 +272,7 @@ Author: Rafał Mikrut
250272
<packing>
251273
<property name="expand">False</property>
252274
<property name="fill">True</property>
253-
<property name="position">5</property>
275+
<property name="position">6</property>
254276
</packing>
255277
</child>
256278
<child>
@@ -263,7 +285,7 @@ Author: Rafał Mikrut
263285
<packing>
264286
<property name="expand">False</property>
265287
<property name="fill">True</property>
266-
<property name="position">6</property>
288+
<property name="position">7</property>
267289
</packing>
268290
</child>
269291
<child>
@@ -276,7 +298,44 @@ Author: Rafał Mikrut
276298
<packing>
277299
<property name="expand">False</property>
278300
<property name="fill">True</property>
279-
<property name="position">7</property>
301+
<property name="position">8</property>
302+
</packing>
303+
</child>
304+
<child>
305+
<object class="GtkSeparator">
306+
<property name="visible">True</property>
307+
<property name="can_focus">False</property>
308+
</object>
309+
<packing>
310+
<property name="expand">False</property>
311+
<property name="fill">True</property>
312+
<property name="position">9</property>
313+
</packing>
314+
</child>
315+
<child>
316+
<object class="GtkButton" id="buttons_popover_duplicate_select_custom">
317+
<property name="label" translatable="yes">Select custom</property>
318+
<property name="visible">True</property>
319+
<property name="can_focus">True</property>
320+
<property name="receives_default">True</property>
321+
</object>
322+
<packing>
323+
<property name="expand">False</property>
324+
<property name="fill">True</property>
325+
<property name="position">10</property>
326+
</packing>
327+
</child>
328+
<child>
329+
<object class="GtkButton" id="buttons_popover_duplicate_unselect_custom">
330+
<property name="label" translatable="yes">Unselect custom</property>
331+
<property name="visible">True</property>
332+
<property name="can_focus">True</property>
333+
<property name="receives_default">True</property>
334+
</object>
335+
<packing>
336+
<property name="expand">False</property>
337+
<property name="fill">True</property>
338+
<property name="position">11</property>
280339
</packing>
281340
</child>
282341
</object>
@@ -299,7 +358,7 @@ Author: Rafał Mikrut
299358
<packing>
300359
<property name="expand">False</property>
301360
<property name="fill">True</property>
302-
<property name="position">1</property>
361+
<property name="position">0</property>
303362
</packing>
304363
</child>
305364
<child>
@@ -309,6 +368,17 @@ Author: Rafał Mikrut
309368
<property name="can_focus">True</property>
310369
<property name="receives_default">True</property>
311370
</object>
371+
<packing>
372+
<property name="expand">False</property>
373+
<property name="fill">True</property>
374+
<property name="position">1</property>
375+
</packing>
376+
</child>
377+
<child>
378+
<object class="GtkSeparator">
379+
<property name="visible">True</property>
380+
<property name="can_focus">False</property>
381+
</object>
312382
<packing>
313383
<property name="expand">False</property>
314384
<property name="fill">True</property>
@@ -328,6 +398,43 @@ Author: Rafał Mikrut
328398
<property name="position">3</property>
329399
</packing>
330400
</child>
401+
<child>
402+
<object class="GtkSeparator">
403+
<property name="visible">True</property>
404+
<property name="can_focus">False</property>
405+
</object>
406+
<packing>
407+
<property name="expand">False</property>
408+
<property name="fill">True</property>
409+
<property name="position">4</property>
410+
</packing>
411+
</child>
412+
<child>
413+
<object class="GtkButton" id="buttons_popover_simple_list_select_custom">
414+
<property name="label" translatable="yes">Select custom</property>
415+
<property name="visible">True</property>
416+
<property name="can_focus">True</property>
417+
<property name="receives_default">True</property>
418+
</object>
419+
<packing>
420+
<property name="expand">False</property>
421+
<property name="fill">True</property>
422+
<property name="position">5</property>
423+
</packing>
424+
</child>
425+
<child>
426+
<object class="GtkButton" id="buttons_popover_simple_list_unselect_custom">
427+
<property name="label" translatable="yes">Unselect custom</property>
428+
<property name="visible">True</property>
429+
<property name="can_focus">True</property>
430+
<property name="receives_default">True</property>
431+
</object>
432+
<packing>
433+
<property name="expand">False</property>
434+
<property name="fill">True</property>
435+
<property name="position">6</property>
436+
</packing>
437+
</child>
331438
</object>
332439
</child>
333440
</object>

0 commit comments

Comments
 (0)