/* 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_LIST_OF_DOWNLOADS
#define MY_LIST_OF_DOWNLOADS
#include <gtk/gtk.h>
#include "../dlist.h"
struct d4xWFNode:public tNode{
tDownload *dwn;
void print(){};
};
struct tColumn{
int type;
int visible;
int size;
int enum_index;
};
enum {
STATUS_COL=0,
FILE_COL,
FILE_TYPE_COL,
FULL_SIZE_COL,
DOWNLOADED_SIZE_COL,
REMAIN_SIZE_COL,
PERCENT_COL,
SPEED_COL,
TIME_COL,
ELAPSED_TIME_COL,
PAUSE_COL,
TREAT_COL,
DESCRIPTION_COL,
URL_COL,
NOTHING_COL
};
struct d4xQVPrefs{
tTriger dformat;
int tformat;
tColumn cols[NOTHING_COL+1];
d4xQVPrefs();
};
enum {
TARGET_URL,
TARGET_DND_TEXT
};
struct d4xQueueView{
private:
int move_success;
char *wildcard;
void remove_wf(tDownload *what);
void add_wf(tDownload *what);
// void init_sort_buttons();
// void set_column_justification (int col, GtkJustification justify);
// GtkWidget *d4xQueueView::get_column_widget(int col);
public:
tDownload *last_selected;
GtkListStore *list_store;
GtkWidget *ListOfDownloads;
tQueue ListOfDownloadsWF;
float current_shift;
d4xQVPrefs prefs;
int LoDSortFlag;
d4xQueueView();
~d4xQueueView();
void toggle_column_visibility(int a);
void popup_columns_visibility_menu(GdkEventButton *event);
void get_sizes();
void init();
void add(tDownload *what);
void add_first(tDownload *what);
void remove(tDownload *what);
void update(tDownload *what);
void change_data(GtkTreeIter *iter,int column,const std::string &data=std::string());
void set_percent(GtkTreeIter *iter,float percent);
void set_desc(tDownload *what);
void set_color(tDownload *what);
void set_filename(tDownload *what);
gint get_height();
void set_height();
void print_size(tDownload *what);
void set_pixmap(tDownload *what,int type);
void set_pixmap(GtkTreeIter *iter,int type);
void set_pixmap(tDownload *what);
void redraw_pixmap(GtkTreeIter *iter);
void set_run_icon(tDownload *what);
int rows();
void move_up();
void move_down();
void move_download_up(GtkTreeIter *iter);
void move_download_down(GtkTreeIter *iter);
int move_selected_up();
int move_selected_down();
void move_selected_home();
void move_selected_end();
void selected_sizequery();
void unselect_all();
void select_all();
void invert_selection();
void select(tDownload *dwn);
void real_select(int type,char *wildcard);
int get_row_num(tDownload *dwn);
void init_select_window(int type=0);
// void swap(tDownload *a,tDownload *b);
// void rebuild_wait();
// void sort(int how);
tDownload *get_download(GtkTreeIter *iter);
void open_logs();
void continue_opening_logs();
void set_shift(float shift);
void get_adj();
void move_to(tDownload *dwn);
void stop_downloads();
void delete_downloads(int flag=0);
void continue_downloads(int from_begin=0);
void inv_protect_flag();
void save_to_config(int fd);
int load_from_config(int fd);
void inherit_settings(d4xQueueView *papa);
void redraw_icons();
/* may be better describe friends for next funcs? */
void select_by_wildcard(GtkTreeIter *iter);
void unselect_by_wildcard(GtkTreeIter *iter);
void invert_sel(GtkTreeIter *iter);
};
gint lod_get_height();
void lod_set_height();
#endif
syntax highlighted by Code2HTML, v. 0.9.1