From c00685e72f8b3bfcc3fc1217c4b5bd0c811eabd6 Mon Sep 17 00:00:00 2001 From: Arkagedon <38785328+ARKAGEDON@users.noreply.github.com> Date: Wed, 26 Oct 2022 22:00:43 +0000 Subject: [PATCH] Success!! Finishing adding the packageSaver GUI Just check the TODO for next --- PackageSaver | Bin 26464 -> 26856 bytes include/PkgSaver.h | 1 + pkgToSave.txt | 3 +++ src/PkgSaver.c | 46 ++++++++++++++++++++++++++++++++++++++++ src/main.c | 7 ++++-- src/packageSaver.glade | 18 +--------------- src/packageSaver.glade~ | 4 +++- 7 files changed, 59 insertions(+), 20 deletions(-) create mode 100644 pkgToSave.txt diff --git a/PackageSaver b/PackageSaver index b81d99f578ba4f2c68b0b5573349bed7931a43a6..90872e803e206e67de26aecfb29a20d723aca18e 100755 GIT binary patch delta 5368 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 delta 4026 zcmZu!4Nz3q6~6cFF0d;C0{4BqLfV-?lGcj3M{`8?HL6M5Yx*&=Wm7rp5J8AI` zGwWt&)DshJwY3w+FiD-ktZ6WHbkU3?I*l-PYQ{P#)@i!d8cA!FDDm~&``%+=>t*(w zcfRx8bMHOx-un*0Av*je-IHWCW)a?8vLeSMojYk%1aUE60se~NmS(2*YUj1*;e?Px`+({!bRUDbuT-r3?m9Gy(zV$7=o5#Z(6M2&_}SQc9tsU?*C!G_rQ zGG$P-HRKr12p=SRZF`q{=idhbMTIVP&tfb987G!N+l1 zaCc8Pp2c%;$7q36Q*=y+G7EO#%#dcfOVc36jANQ{%n7~>a3Z=6(cuYbCagDGXqMj* ze>vLkioZucvKj^0nl-H^4RazTemI?wdo8xOjGcTsqR)BCMu_OseZ`O$?-#cSOuQLyE zDRHETkYKYUNf&fEHdvIsF#am;N6~WuhrP_727*rL&7M~MTQ;z#|I=qN#u@g~k@2y@ zsCz6)XBif}^n)ac-tL}9Ou3>&pD%!qpP~ype<^wfg0~Hp1Q2YirQP8;D)Zi z#rZmXDZw`%LS6n$aU&v_+NlOP4;sFNssq7S`NMf!-2u^;7|Y#!k^QWL=WDj!W8bsK zsv}4`0)zR}y1v3A#vJc52lhO}*2jSR*eNLYR70NRTpqGM6w)b&91K?S2bJs%kqbj) zqfGuP_`Xc;QfAv4Vn5~{KHHn4e6~HopG^u~8X^yc$iJ7#y}=((B2NvGkA}z|ncUYE zES|)^gV&0(HMWG<%Vl;T7(a>pS%^G8M7GQ1&qeR%K3rYTDV|YZ;$hAn2;OCW@8$sd zdQWx9=Ol5L;=F>+;7dFh+oprcT&_Q0i5Lhj;U3(lKIR$-u4kELd)HePDB}Z_@eL|^ zhHwjXvkmN<$dESNdXV+QIT}kRho$#F`Ek_;mZ%I0Yy8b_sbQ*QVJxRKby7Ir0G={ncbt;83 zjx5>>HyoCTo^K^-gu-J4+8}dA27MdKP`aUMM#dZ$_Qtz{kg{0gE}=AO4EhWXn#ZLJG4yp5u$!2=T%h9vF6Wv zsjk54m|>e?D^>}LE3M)s;zH+NxTOb2E27s&Fls2grNM*k<(`IIg8#{4EhTi~x;@U`yg@z^8{sX8K$8#&dA7B*ev#IaJL zbx|vI!O$X$qa#aZsM3iK0+w;=)==?Ue4to;MM3gnJ0(!Pcnf_2`uX#Bi!D6)wI%d0 zRM%!KQ;Tl3b0WTPilvyEKNZ(tl32|cUK(a0pW)$^STV1AM{0}lNMHq=JVWU}DQy^h zCoEcG(H+4kS(w^*`UhSIU*Yl=mlB*MZn^ocSJ;a3CVdaa|ctEn(HTHxYkQX?vgdH$xfzACbf5JTB|GT+8KlCX?UB zgTXQuUIhP!drv9e@S6P+^QPHw^iZL!&WVt}VlOMt-}j6MHA^Glo26!23^$fqXa$oF zHy$oFZg|z-j`)*m?4R?#2e~}Xq<^s9K~20ocFkK@U0&g42Wl2b%gVvs@GKl(t_Od^ zwiGw3t((`nn_JhqTbkO|jgy~&5knG|0d3*C*;UR&G%{G&IbW~jl`c-y=%OMZ% za)7CEs=t0!F{M%9S#39{|IUrL;N0rj`th9ww51e}X&Fi@Y(r^;ew0Unt|_I}P=+!a uwxK)>{cB2vztn)xT4Jy&C3^s;*gD%Vyi^|cq84_e`N4A8d>z--nEpSZp%_2_ diff --git a/include/PkgSaver.h b/include/PkgSaver.h index 7aa7ce2..4e0b6bf 100644 --- a/include/PkgSaver.h +++ b/include/PkgSaver.h @@ -12,6 +12,7 @@ struct _treeViewer void init_packages(treeViewer *tv); void on_ct2_toggled (GtkCellRendererToggle *cell, gchar *path_string, gpointer user_data); +void on_saveFile_clicked (GtkButton *btn, gpointer user_data); void on_destroy(); #endif \ No newline at end of file diff --git a/pkgToSave.txt b/pkgToSave.txt new file mode 100644 index 0000000..2a6428f --- /dev/null +++ b/pkgToSave.txt @@ -0,0 +1,3 @@ +a52dec +aalib +acl diff --git a/src/PkgSaver.c b/src/PkgSaver.c index e45f91f..4a01f67 100644 --- a/src/PkgSaver.c +++ b/src/PkgSaver.c @@ -84,6 +84,52 @@ void on_ct2_toggled (GtkCellRendererToggle *cell, gchar *path_string, gpointer u return; } +/** + * @brief Function to save packageName into a file + * + * @param btn button clicked + * @param user_data treeView in which data is + */ +void on_saveFile_clicked (GtkButton *btn, gpointer user_data) +{ + treeViewer *tv = (treeViewer*) user_data; + GtkTreeModel *model = gtk_tree_view_get_model(tv->treeView); + GtkTreeIter iter; + gtk_tree_model_get_iter_first(model, &iter); + FILE *fp; + + fp = fopen("pkgToSave.txt", "w"); + if (fp == NULL) + { + fprintf(stderr, "Error opening the file, please open an issue on github!"); + exit(1); + } + int row = 0; + + while (1) + { + gchar *pkgName; + gboolean isKept = FALSE; + + gtk_tree_model_get(model, &iter, 1, &isKept, -1); //Getting the bool of the row + //fprintf(stderr, "row %d\n",row); + /* Checking if the user asked to keep the row or not */ + if (isKept == TRUE) + { + gtk_tree_model_get(model, &iter, 0, &pkgName, -1); // Getting the packageName + fputs(pkgName, fp); + } + + if (gtk_tree_model_iter_next (model, &iter) == FALSE) + { + break; + } + row++; + } + fclose(fp); + //fprintf(stderr, "File closed"); +} + void on_destroy() { gtk_main_quit(); diff --git a/src/main.c b/src/main.c index 32b3ae3..cb98a04 100644 --- a/src/main.c +++ b/src/main.c @@ -21,6 +21,8 @@ int main(int argc, char *argv[]) GtkCellRenderer *ct1 = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "ct1")); GtkCellRenderer *ct2 = GTK_CELL_RENDERER(gtk_builder_get_object(builder, "ct2")); GtkTreeSelection *select = GTK_TREE_SELECTION(gtk_builder_get_object(builder, "select")); + GtkButton *saveFileButton = GTK_BUTTON(gtk_builder_get_object(builder, "SaveInFile")); + gtk_tree_view_column_add_attribute(cx1, ct1, "text", 0); // attach renderer to column gtk_tree_view_column_add_attribute(cx2, ct2, "active", 1); // attach renderer to column @@ -32,6 +34,7 @@ int main(int argc, char *argv[]) /*Connection all the signal*/ g_signal_connect (ct2, "toggled", G_CALLBACK (on_ct2_toggled), &tv); + g_signal_connect (saveFileButton, "clicked", G_CALLBACK (on_saveFile_clicked), &tv); gtk_widget_show_all(window); @@ -40,5 +43,5 @@ int main(int argc, char *argv[]) } // TODO: free all when exiting -// saving the actions into a file ou clipboard -// adding a research by name feature \ No newline at end of file +// adding a research by name feature + diff --git a/src/packageSaver.glade b/src/packageSaver.glade index 480fd04..c1708e1 100644 --- a/src/packageSaver.glade +++ b/src/packageSaver.glade @@ -68,7 +68,7 @@ Save in a file - 250 + 500 25 True True @@ -80,22 +80,6 @@ 200 - - - Save in clip board - 250 - 25 - True - True - True - top - - - - 250 - 200 - - diff --git a/src/packageSaver.glade~ b/src/packageSaver.glade~ index a35e718..fa7f99f 100644 --- a/src/packageSaver.glade~ +++ b/src/packageSaver.glade~ @@ -56,6 +56,9 @@ Keeping ? True 0.5 + + + @@ -86,7 +89,6 @@ True True top - 250