/* WebDownloader for X-Window
* Copyright (C) 1999-2002 Koshelev Maxim
* This Program is free but not GPL!!! You can't modify it
* without agreement with author. You can't distribute modified
* program but you can distribute unmodified program.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
#ifndef MY_FACE_FOR_PASS
#define MY_FACE_FOR_PASS
#include <gtk/gtk.h>
#include "../dlist.h"
#include <regex.h>
struct tLimitDownload:public tDownload{
int cur_limit;
tLimitDownload():tDownload(),cur_limit(0){};
tQueue limited; // needed to store all downloads marked by this regex
tQueue lim_run; // needed to recalc run downloads when regex is changed
};
class tFacePass{
protected:
int do_not_run;
GtkWidget *window;
GtkTreeView *view;
GtkListStore *list_store;
GtkWidget *button;
GtkWidget *add_button;
GtkWidget *del_button;
tDList dlist,addlist;
void del_row(GtkTreeIter *inter);
void show_url(tLimitDownload *dwn);
void calc_matched_run(tLimitDownload *dwn);
void calc_matched_run_rec(tQueue *q,tLimitDownload *dwn,regex_t *reg);
void rerun_wait_queues(tQueue *q);
void free_matched(tLimitDownload *dwn);
tLimitDownload *find_match(tDownload *what);
public:
tFacePass();
GtkWidget *init();
void edit_row(GtkTreeIter *iter);
void apply_dialog();
void addlist_del(tDownload *dwn);
void addlist_add(tLimitDownload *dwn);
void redraw_url(tLimitDownload *dwn);
void delete_rows();
void open_dialog();
void limit_dec(tDownload *what);
void limit_inc(tDownload *what);
void limit_to_run(tDownload *what);
int match_and_check(tDownload *what,int move=0);
int limit_check(tDownload *what);
void save();
void load();
void close();
void set_cfg(tDownload *dwn);
void recalc_run(tLimitDownload *dwn);
void stop_matched(tDownload *dwn);
void set_do_not_run(int a);
~tFacePass();
};
extern tFacePass *FaceForPasswords;
#endif
syntax highlighted by Code2HTML, v. 0.9.1