summaryrefslogtreecommitdiffstats
path: root/kdirstat/kdirstatfeedback.cpp
blob: 190061406f274e6bd5a9d0d76138be8079972b0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
/*
 *   File name:	kdirstatfeedback.cpp
 *   Summary:	User feedback questions for KDirStat
 *   License:	GPL - See file COPYING for details.
 *
 *   Author:	Stefan Hundhammer <sh@suse.de>
 *
 *   Updated:	2003-01-07
 */


#include <tdelocale.h>

#include "kdirstatapp.h"
#include "kfeedback.h"



void
KDirStatApp::sendFeedbackMail()
{
    if ( ! _feedbackDialog )
    {
	_feedbackDialog = new KFeedbackDialog( "sh@suse.de", "feedback_mail" );
	TQ_CHECK_PTR( _feedbackDialog );

	connect( _feedbackDialog->form(), TQT_SIGNAL( mailSent() ),
		 this, TQT_SLOT( feedbackMailSent() ) );

	KFeedbackQuestionList * list = _feedbackDialog->form()->questionList();

	KFeedbackQuestion * question =
	    list->addQuestion( i18n( "What is your general opinion about this program?" ), "general_opinion", true, true );

	question->addAnswer( i18n( "It's one of my favourites" 			), 	"1/8_favourite" 	);
	question->addAnswer( i18n( "I like it" 					), 	"2/8_like_it" 		);
	question->addAnswer( i18n( "It's sometimes useful"			), 	"3/8_sometimes_useful" 	);
	question->addAnswer( i18n( "It's average" 				), 	"4/8_average" 		);
	question->addAnswer( i18n( "Nice try, but this could be done better"	), 	"5/8_nice_try" 		);
	question->addAnswer( i18n( "It's poor"	 				), 	"6/8_poor"		);
	question->addAnswer( i18n( "It's useless"				), 	"7/8_useless" 		);
	question->addAnswer( i18n( "It's crap" 					), 	"8/8_crap"		);

	question = list->addQuestion( i18n( "Which features of this program do you like?" ), "features_liked", false );
	addFeatureList( question );

	question = list->addQuestion( i18n( "Which features don't you like?" ), 	"features_not_liked",	false );
	addFeatureList( question );

	question = list->addQuestion( i18n( "Which features do you never use?" ), 	"features_never_used",	false );
	addFeatureList( question );

	question = list->addQuestion( i18n( "What is your favourite feature?" ), 	"favourite_feature",	true );
	addFeatureList( question );

	question = list->addQuestion( i18n( "Are there features you are missing?" ),	"features_missing",	true );
	question->addAnswer( i18n( "Yes, a lot! (please add comment below)"	),	"1/4_lots"		);
	question->addAnswer( i18n( "Some (please add comment below)"		),	"2/4_some"		);
	question->addAnswer( i18n( "None"					),	"3/4_none"		);
	question->addAnswer( i18n( "It has too many features already!"		),	"4/4_too_many_already"	);

	question = list->addQuestion( i18n( "How do you rate the stability of this program?" ),	"stability",	true, true );
	question->addAnswer( i18n( "Rock solid"					),	"1/5_rock_solid"		);
	question->addAnswer( i18n( "Good"					),	"2/5_good"		);
	question->addAnswer( i18n( "Average"					),	"3/5_average"		);
	question->addAnswer( i18n( "Poor"					),	"4/5_poor"		);
	question->addAnswer( i18n( "It keeps crashing all the time"		),	"5/5_keeps_crashing"	);

	question = list->addQuestion( i18n( "How do you rate the performance of this program?" ), "performance", true );
	question->addAnswer( i18n( "Great"					),	"1/5_great"		);
	question->addAnswer( i18n( "Good"					),	"2/5_good"		);
	question->addAnswer( i18n( "Average"					),	"3/5_average"		);
	question->addAnswer( i18n( "Poor"					),	"4/5_poor"		);
	question->addAnswer( i18n( "It's so slow it drives me nuts"		),	"5/5_drives_me_nuts"	);

	question = list->addQuestion( i18n( "What is your experience with computers in general?" ), "computer_experience", true );
	question->addAnswer( i18n( "Expert"					),	"1/5_expert"		);
	question->addAnswer( i18n( "Fair"					),	"2/5_fair"		);
	question->addAnswer( i18n( "Average"					),	"3/5_average"		);
	question->addAnswer( i18n( "Learning"					),	"4/5_learning"	);
	question->addAnswer( i18n( "Newbie"					),	"5/5_newbie"		);

	question = list->addQuestion( i18n( "What is your experience with Unix/Linux systems?" ), "unix_experience", true );
	question->addAnswer( i18n( "Expert"					),	"1/5_expert"		);
	question->addAnswer( i18n( "Fair"					),	"2/5_fair"		);
	question->addAnswer( i18n( "Average"					),	"3/5_average"		);
	question->addAnswer( i18n( "Learning"					),	"4/5_learning"	);
	question->addAnswer( i18n( "Newbie"					),	"5/5_newbie"		);

	question = list->addQuestion( i18n( "Did you have trouble figuring out how to work with this program in general?" ),
				      "learning_curve", true, true );
	question->addAnswer( i18n( "No problem"					),	"1/5_no_problem"	);
	question->addAnswer( i18n( "Some"					),	"2/5_some_problems"	);
	question->addAnswer( i18n( "I'm still learning"				),	"3/5_still_learing"	);
	question->addAnswer( i18n( "I didn't have a clue what to do at first"	),	"4/5_no_clue_at_first"	);
	question->addAnswer( i18n( "I still don't have a clue what to do"	),	"5/5_still_no_clue"	);

	question = list->addQuestion( i18n( "Where do you use this program most?" ),	"usage_where", 		true );
	question->addAnswer( i18n( "At work"					),	"at_work"		);
	question->addAnswer( i18n( "At home"					),	"at_home"		);
	question->addAnswer( i18n( "At university / school"			),	"university"		);

	question = list->addQuestion( i18n( "What is your primary role there?"	),	"primary_role",		true );
	question->addAnswer( i18n( "Home user"					),	"home_user"		);
	question->addAnswer( i18n( "Student"					),	"student"		);
	question->addAnswer( i18n( "Educational (teacher / professor)"		),	"educational"		);
	question->addAnswer( i18n( "Non-computer related work"			),	"non_computer"		);
	question->addAnswer( i18n( "Developer"					),	"developer"		);
	question->addAnswer( i18n( "System administrator"			),	"sysadmin"		);

	question = list->addQuestion( i18n( "Do you have any other roles there?" ),	"other_roles",		false );
	question->addAnswer( i18n( "Home user"					),	"home_user"		);
	question->addAnswer( i18n( "Student"					),	"student"		);
	question->addAnswer( i18n( "Educational (teacher / professor)"		),	"educational"		);
	question->addAnswer( i18n( "Non-computer related work"			),	"non_computer"		);
	question->addAnswer( i18n( "Developer"					),	"developer"		);
	question->addAnswer( i18n( "System administrator"			),	"sysadmin"		);

	question = list->addQuestion( i18n( "How did you get to know this program?" ),	"first_contact",	true );
	question->addAnswer( i18n( "In a menu on my machine"			),	"menu"			);
	question->addAnswer( i18n( "Somebody told me about it"			),	"told"			);
	question->addAnswer( i18n( "On the internet"				),	"internet"		);
	question->addAnswer( i18n( "Printed magazine / book"			),	"print_media"		);
	question->addAnswer( i18n( "Other (please add comment below)"		),	"other"			);
	
	list->addYesNoQuestion( i18n( "Did you ever get a KDirStat mail report telling you to clean up disk space?" ),
				"got_mail_report" );

	question = list->addQuestion( i18n( "Could you figure yet out how to work with the treemaps?" ), "learning_treemaps", true );
	question->addAnswer( i18n( "I became an expert at it"			),	"1/5_expert"		);
	question->addAnswer( i18n( "I got a fairly good idea of it"		),	"2/5_ok"		);
	question->addAnswer( i18n( "I'm still learning"				),	"3/5_still_learing"	);
	question->addAnswer( i18n( "I still don't have a clue what to do"	),	"4/5_no_clue"		);
	question->addAnswer( i18n( "Treemaps? Huh? What the hell is that?"	),	"5/5_say_what"		);

	question = list->addQuestion( i18n( "What do you think about the treemaps?" ), "treemaps", false );
	question->addAnswer( i18n( "They are useless" 				), 	"useless" 		);
	question->addAnswer( i18n( "The display is confusing"			), 	"display_confusing"	);
	question->addAnswer( i18n( "They look ugly" 				), 	"look_ugly" 		);
	question->addAnswer( i18n( "They look nice" 				), 	"look_nice" 		);
	question->addAnswer( i18n( "They help finding large files"		), 	"good_for_large_files"	);
	question->addAnswer( i18n( "I could do with the treemap view alone"	), 	"treemaps_alone"	);
	question->addAnswer( i18n( "The combination of tree view and treemaps is great"	), "like_combined_views");
	question->addAnswer( i18n( "I want more info inside the treemap view"	), 	"more_info"		);
	question->addAnswer( i18n( "Leave the treemaps as they are right now"	), 	"leave_like_this"	);

	list->addYesNoQuestion( i18n( "Would you recommend this program to a friend?" ), "recommend", true );
    }

    if ( ! _feedbackDialog->isVisible() )
	_feedbackDialog->show();
}


void
KDirStatApp::addFeatureList( KFeedbackQuestion * question )
{
    question->addAnswer( i18n( "The directory tree display in general"			),	"tree_view"		);
    question->addAnswer( i18n( "Percentage bars as graphical display of relative sizes" ),	"percentage_bars" 	);
    question->addAnswer( i18n( "Files apart from directories in a separate <Files> item"),	"files_item"		);
    
    question->addAnswer( i18n( "Treemaps in general"					),	"treemaps"		);
    question->addAnswer( i18n( "The cushioned treemap rendering"			),	"treemap_cushions"	);

    question->addAnswer( i18n( "Cleanup actions in general"				),	"cleanups_general"	);
    question->addAnswer( i18n( "Predefined cleanup actions"				),	"predefined_cleanups"	);
    question->addAnswer( i18n( "User defined cleanup actions"				),	"user_cleanups"		);
    question->addAnswer( i18n( "Cleanup action configuration"				),	"cleanup_config"	);

    question->addAnswer( i18n( "Different colors in percentage bars" 			),	"tree_colors"		);
    question->addAnswer( i18n( "Tree color configuration"				),	"tree_color_config"	);
    question->addAnswer( i18n( "Staying on one file system"				),	"stay_on_one_filesys"	);
    question->addAnswer( i18n( "The \"mail to owner\" facility"				),	"mail_to_owner"		);
    question->addAnswer( i18n( "This \"feedback mail\" facility"			),	"feedback"		);

    question->addAnswer( i18n( "Human readable sizes (kB, MB, ...)"			),	"human_readable_sizes"	);
    question->addAnswer( i18n( "All the numbers in the tree display"			),	"numeric_display"	);
    question->addAnswer( i18n( "Last change time of an entire directory tree"		),	"last_change_time"	);
    question->addAnswer( i18n( "The PacMan animation"					),	"pacman"		);
}



// EOF