Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 81422 | Differences between
and this patch

Collapse All | Expand All

(-)centericq-4.20.0-orig/src/centericq.h (-1 / +2 lines)
Lines 84-90 Link Here
84
	void readevents(const imcontact cont);
84
	void readevents(const imcontact cont);
85
85
86
	void history(const imcontact &cont);
86
	void history(const imcontact &cont);
87
87
	bool next_chat(bool next = false);
88
  
88
	bool sendevent(const imevent &ev, icqface::eventviewresult r);
89
	bool sendevent(const imevent &ev, icqface::eventviewresult r);
89
};
90
};
90
91
(-)centericq-4.20.0-orig/src/icqconf.cc (+6 lines)
Lines 237-242 Link Here
237
	    of << "bind contact\ti\tignore" << endl;
237
	    of << "bind contact\ti\tignore" << endl;
238
	    of << "bind contact\t\\as\tquickfind" << endl;
238
	    of << "bind contact\t\\as\tquickfind" << endl;
239
	    of << "bind contact\t/\tquickfind" << endl << endl;
239
	    of << "bind contact\t/\tquickfind" << endl << endl;
240
	    of << "bind contact\t\\cn\tnext_chat" << endl;
241
	    of << "bind contact\t\\cb\tprev_chat" << endl;
240
	    of << "bind history\t/\tsearch" << endl;
242
	    of << "bind history\t/\tsearch" << endl;
241
	    of << "bind history\ts\tsearch" << endl;
243
	    of << "bind history\ts\tsearch" << endl;
242
	    of << "bind history\tn\tsearch_again" << endl;
244
	    of << "bind history\tn\tsearch_again" << endl;
Lines 246-251 Link Here
246
	    of << "bind editor\t<esc>\tquit" << endl;
248
	    of << "bind editor\t<esc>\tquit" << endl;
247
	    of << "bind editor\t\\cp\tmultiple_recipients" << endl;
249
	    of << "bind editor\t\\cp\tmultiple_recipients" << endl;
248
	    of << "bind editor\t\\co\thistory" << endl;
250
	    of << "bind editor\t\\co\thistory" << endl;
251
	    of << "bind editor\t\\cn\tnext_chat" << endl;
252
	    of << "bind editor\t\\cb\tprev_chat" << endl;
249
	    of << "bind editor\t\\a?\tinfo" << endl;
253
	    of << "bind editor\t\\a?\tinfo" << endl;
250
	    of << "bind editor\t<F2>\tshow_urls" << endl;
254
	    of << "bind editor\t<F2>\tshow_urls" << endl;
251
	    of << "bind editor\t<F9>\tfullscreen" << endl << endl;
255
	    of << "bind editor\t<F9>\tfullscreen" << endl << endl;
Lines 341-346 Link Here
341
	    if(param == "quit") k.action = key_quit; else
345
	    if(param == "quit") k.action = key_quit; else
342
	    if(param == "change_status") k.action = key_change_status; else
346
	    if(param == "change_status") k.action = key_change_status; else
343
	    if(param == "history") k.action = key_history; else
347
	    if(param == "history") k.action = key_history; else
348
	    if(param == "next_chat") k.action = key_next_chat; else
349
	    if(param == "prev_chat") k.action = key_prev_chat; else
344
	    if(param == "fetch_away_message") k.action = key_fetch_away_message; else
350
	    if(param == "fetch_away_message") k.action = key_fetch_away_message; else
345
	    if(param == "user_menu") k.action = key_user_menu; else
351
	    if(param == "user_menu") k.action = key_user_menu; else
346
	    if(param == "general_menu") k.action = key_general_menu; else
352
	    if(param == "general_menu") k.action = key_general_menu; else
(-)centericq-4.20.0-orig/src/icqconf.h (+2 lines)
Lines 71-76 Link Here
71
    key_quickfind,
71
    key_quickfind,
72
    key_search,
72
    key_search,
73
    key_search_again,
73
    key_search_again,
74
    key_next_chat,
75
    key_prev_chat,
74
    key_show_urls,
76
    key_show_urls,
75
    key_rss_check,
77
    key_rss_check,
76
    key_multiple_recipients,
78
    key_multiple_recipients,
(-)centericq-4.20.0-orig/src/icqcontact.cc (+1 lines)
Lines 47-52 Link Here
47
    status = offline;
47
    status = offline;
48
    finlist = true;
48
    finlist = true;
49
    congratulated = false;
49
    congratulated = false;
50
    openedforchat = false;
50
51
51
    for(ie = imevent::message; ie != imevent::imeventtype_size; ie++)
52
    for(ie = imevent::message; ie != imevent::imeventtype_size; ie++)
52
	sound[ie] = "";
53
	sound[ie] = "";
(-)centericq-4.20.0-orig/src/icqcontact.h (-1 / +4 lines)
Lines 70-76 Link Here
70
	imstatus status;
70
	imstatus status;
71
71
72
	int fupdated, groupid, fhistoffset;
72
	int fupdated, groupid, fhistoffset;
73
	bool finlist, congratulated, modified, fhasevents, usepgpkey;
73
	bool finlist, congratulated, modified, fhasevents, usepgpkey, openedforchat;
74
	time_t lastread, lastseen, lasttyping;
74
	time_t lastread, lastseen, lasttyping;
75
75
76
	string sound[imevent::imeventtype_size];
76
	string sound[imevent::imeventtype_size];
Lines 122-127 Link Here
122
122
123
	bool hasevents() const { return fhasevents; }
123
	bool hasevents() const { return fhasevents; }
124
	void sethasevents(bool n) { fhasevents = n; }
124
	void sethasevents(bool n) { fhasevents = n; }
125
	bool isopenedforchat() const { return openedforchat; }
126
	bool setopenedforchat(bool n) { openedforchat = n; }
127
	bool toggleopenedforchat() { openedforchat = !openedforchat; }
125
128
126
	string getnick() const;
129
	string getnick() const;
127
	string getdispnick() const;
130
	string getdispnick() const;
(-)centericq-4.20.0-orig/src/icqface.cc (-5 / +64 lines)
Lines 447-455 Link Here
447
    return r;
447
    return r;
448
}
448
}
449
449
450
/* called to prepare the next chat contact, returns true if it found one, false otherwise
451
   parameter is true if its next chat contact or false if is the previous
452
 */
453
bool icqface::next_chat(bool next) {
454
  find_next_action = (next ? 1:-1);
455
  if (last_selected) last_selected->setopenedforchat(false);
456
  return true;
457
}
458
459
icqcontact *icqface::find_next_chat() {
460
  if (find_next_action == 0) return 0;
461
  int i;
462
  if (last_selected){
463
    for(i = 0; i < clist.count && clist.at(i) != last_selected; i++)
464
      ;
465
    i += find_next_action;
466
    if (i <= 0) i = clist.count -1;
467
    else if (i >= clist.count) i = 0;
468
  }
469
  else i = find_next_action == 1 ? 0 : clist.count -1;
470
471
  icqcontact *c;
472
  for (; i < clist.count && i >= 0; i += find_next_action){
473
    c = (icqcontact *) clist.at(i);
474
    if (c->isopenedforchat() || c->hasevents()) {
475
      find_next_action = 0;
476
      return c;
477
    }
478
  }
479
  
480
  find_next_action = 0;
481
  return 0;
482
}
483
450
icqcontact *icqface::mainloop(int &action) {
484
icqcontact *icqface::mainloop(int &action) {
451
    int i, curid;
485
    int i, curid;
452
    icqcontact *c = 0; icqgroup *g;
486
    icqcontact *c = 0, *c1 = 0; icqgroup *g;
453
    bool fin;
487
    bool fin;
454
488
455
    for(fin = false; !fin; ) {
489
    for(fin = false; !fin; ) {
Lines 457-464 Link Here
457
491
458
	/* Obtain the (icqcontact *) from the treeview. If a node is
492
	/* Obtain the (icqcontact *) from the treeview. If a node is
459
	   selected, throw out the contact and obtain the correct (icqgroup *). */
493
	   selected, throw out the contact and obtain the correct (icqgroup *). */
460
494
	c = find_next_chat(); //check if next_chat was called from inside a chat window
461
	c = (icqcontact *) mcontacts->open(&i);
495
	if (!c){
496
          last_selected = 0;
497
	  c = (icqcontact *) mcontacts->open(&i);
498
          if (c1 = find_next_chat()) c = c1; //check if next_chat was called from contacts menu
499
        }
462
500
463
	if(mcontacts->isnode(i) && c) {
501
	if(mcontacts->isnode(i) && c) {
464
	    c = 0;
502
	    c = 0;
Lines 529-535 Link Here
529
	    break;
567
	    break;
530
	}
568
	}
531
    }
569
    }
532
570
    if (c) last_selected = c;
533
    return c;
571
    return c;
534
}
572
}
535
573
Lines 2192-2203 Link Here
2192
void icqface::showeventbottom(const imcontact &ic) {
2230
void icqface::showeventbottom(const imcontact &ic) {
2193
    const char *text = ischannel(ic) ?
2231
    const char *text = ischannel(ic) ?
2194
	_("%s send, %s multi, %s history, %s URLs, %s expand, %s members, %s close") :
2232
	_("%s send, %s multi, %s history, %s URLs, %s expand, %s members, %s close") :
2195
	_("%s send, %s multi, %s history, %s URLs, %s expand, %s details, %s cancel");
2233
	_("%s send, %s multi, %s history, %s next chat, %s URLs, %s expand, %s details, %s cancel");
2196
2234
2197
    status(text,
2235
    status(text,
2198
	getstatkey(key_send_message, section_editor).c_str(),
2236
	getstatkey(key_send_message, section_editor).c_str(),
2199
	getstatkey(key_multiple_recipients, section_editor).c_str(),
2237
	getstatkey(key_multiple_recipients, section_editor).c_str(),
2200
	getstatkey(key_history, section_editor).c_str(),
2238
	getstatkey(key_history, section_editor).c_str(),
2239
	getstatkey(key_next_chat, section_editor).c_str(),
2201
	getstatkey(key_show_urls, section_editor).c_str(),
2240
	getstatkey(key_show_urls, section_editor).c_str(),
2202
	getstatkey(key_fullscreen, section_editor).c_str(),
2241
	getstatkey(key_fullscreen, section_editor).c_str(),
2203
	getstatkey(key_info, section_editor).c_str(),
2242
	getstatkey(key_info, section_editor).c_str(),
Lines 2620-2625 Link Here
2620
    chatlastread = 0;
2659
    chatlastread = 0;
2621
    inchat = true;
2660
    inchat = true;
2622
    passinfo = ic;
2661
    passinfo = ic;
2662
    c->setopenedforchat(true);
2623
2663
2624
    muins.clear();
2664
    muins.clear();
2625
    muins.push_back(passinfo);
2665
    muins.push_back(passinfo);
Lines 2666-2671 Link Here
2666
	c->setpostponed(editdone ? "" : p.get());
2706
	c->setpostponed(editdone ? "" : p.get());
2667
    }
2707
    }
2668
2708
2709
    c->toggleopenedforchat();
2669
    c->save();
2710
    c->save();
2670
    restoreworkarea();
2711
    restoreworkarea();
2671
    status("@");
2712
    status("@");
Lines 3196-3201 Link Here
3196
	    face.extk = ACT_HISTORY;
3237
	    face.extk = ACT_HISTORY;
3197
	    break;
3238
	    break;
3198
3239
3240
	case key_next_chat:
3241
	    face.extk = ACT_MSG;
3242
	    face.next_chat(true);
3243
	    break;
3244
            
3245
	case key_prev_chat:
3246
	    face.extk = ACT_MSG;
3247
	    face.next_chat(false);
3248
	    break;
3249
3199
	case key_add: face.extk = ACT_ADD; break;
3250
	case key_add: face.extk = ACT_ADD; break;
3200
3251
3201
	case key_send_contact:
3252
	case key_send_contact:
Lines 3323-3328 Link Here
3323
	case key_history:
3374
	case key_history:
3324
	    cicq.history(face.passinfo);
3375
	    cicq.history(face.passinfo);
3325
	    break;
3376
	    break;
3377
	case key_prev_chat:
3378
	    face.editdone = false;
3379
	    face.next_chat(false);
3380
	    return -1;
3381
	case key_next_chat:
3382
	    face.editdone = false;
3383
	    face.next_chat(true);
3384
	    return -1;
3326
	case key_info:
3385
	case key_info:
3327
	    cicq.userinfo(face.passinfo);
3386
	    cicq.userinfo(face.passinfo);
3328
	    break;
3387
	    break;
(-)centericq-4.20.0-orig/src/icqface.h (+7 lines)
Lines 92-97 Link Here
92
92
93
	imcontact passinfo;
93
	imcontact passinfo;
94
	const imevent *passevent;
94
	const imevent *passevent;
95
  
96
	icqcontact *last_selected;
97
	int find_next_action;
95
98
96
	struct filetransferitem {
99
	struct filetransferitem {
97
	    string fname;
100
	    string fname;
Lines 202-207 Link Here
202
	void relaxedupdate();
205
	void relaxedupdate();
203
	bool updaterequested();
206
	bool updaterequested();
204
207
208
  
209
	icqcontact *find_next_chat();
210
	bool next_chat(bool next = true);
211
  
205
	icqcontact *mainloop(int &action);
212
	icqcontact *mainloop(int &action);
206
	void fillcontactlist();
213
	void fillcontactlist();
207
214

Return to bug 81422